Week 1 – Term 2 2018

Learning Objective: to be able to select solution designs based on relevant factors.

Reminder: you have a SAT checkpoint in Week 2 – evidence will be checked in class time in the double period.

Theory:

Read Chapter 5 of your textbook – pages 53-56 until the end of ‘Annotated diagrams or mock-ups’. Also read pages 64-68 starting at ‘Factors influencing the design of solutions’.

Programming:

  1. Create a User Interface for adding a student for a Student Management System.
    Your program must take as input:
    • Unique Identifier (CASES ID) – e.g.: SMI0001
    • First name, last name
    • Date of birth
    • Team, as a dropdown
    • Year
    • Active (True/False)

    Once the data has been entered, it should save to a file called allStudents.csv. This file should contain all students (one per line) and be in CSV text format.

  2. Extension: Create a User Interface for editing a student in a Student Management System.
    This program must take as input:
    • Unique Identifier (CASES ID) – e.g.: SMI0001

    Once the data has been entered, the program should load the contents of the file allStudents.csv. It should check each line of the file to see if the unique identifier appears. If it appears, it should display the user details in the same way as shown on your ‘add student’ program, but with each entry pre-filled. Your program should allow for saving any changes back to the allStudents.csv file.

Homework:

Theory: Answer questions 7 and 8 from your textbook. Due: 23/April/2018.
Programming: Complete the programming task for the week. Due: 2/May/2018.

Week 9 – Term 1 2018

Learning Objective: to understand the role of DFDs and Context Diagrams in creating an SRS.

Theory

This week we’ll be looking at Data Flow Diagrams and Context Diagrams which are methods of describing systems and how users and external processes interact with them.

Programming:

  • Complete the Hangman program that’s due first day back next term.
  • If you’ve finished, use the double period to complete the Context Diagram and Data Flow Diagram tasks in Visio.
  • If you don’t have time to finish it at school, use the following program to complete it at home: http://dia-installer.de/download/index.html – Dia is also available for MacOS.

Homework:
Complete the DFD and Context Diagram tasks from class. Due 16/Apr/2018.

Week 8 – Term 1 2018

Learning Objective: to understand the role of Use Case Diagrams in creating an SRS.

Theory

This week we’ll be looking at Use Case Diagrams, a method of describing systems and how users and external processes interact with them.

You should also be documenting your interviews with your client. Your interviews and other data collection will be part of the next SAT Observation Checkpoint, early next term.

Programming:

  • Continue working on the hangman program that you started last week – implement the core functionality to get a word, then play the game.

Homework:
Theory: Complete the Use Case Diagram tasks given to you in class. Due: Monday, 26th March, 2018.
Programming: Complete the Hangman program. Due: Wednesday, 28th March, 2018.

Week 7 – Term 1 2018

Learning Objective: to demonstrate your ability to make user interfaces in Python.

This week is a SAC week.

ATTENTION YEAR 11s: You are exempt from attending the study skills workshop periods 1 & 2 and will instead attend Periods 3 & 4. Please see Ms McGongegal to confirm your attendance for Periods 3 & 4.

You will be required to respond to a design brief to produce a user interface in Python. You may be required to get data from the user interface and/or update widgets in the user interface.

At a minimum, you should be comfortable using the following widgets:

  1. Label, including images
  2. Entry, including getting information from an entry
  3. OptionMenu
  4. Button

You will receive a practice SAC in Tuesday’s class, however, if you have completed all of the programming homework this year, this is adequate preparation for the SAC.

This SAC is worth 15% of the SAC outcome for Unit 3.

Homework: Prepare for the SAC.

Week 6 – Term 1 2018

Learning Objective: to know the components of the Software Requirements Specifications and how it relates to the SAT.
Learning Objective: to demonstrate knowledge of programming techniques to read and write to files.
Learning Objective: to know how to display and changes images in Python using Tkinter.

Theory

This week we’ll be looking at a Software Requirements Specification template. You should begin following your Gantt chart in regards to client interviews and data collection.

Programming

This week we’ll be looking at reading and writing to files, as well as creating more user interfaces for practice.

You are required to program a hangman game with a GUI interface. The words used in the game will be randomly chosen from a text file that will be provided to you. The images you will use to represent the hangman getting “hung” will also be provided to you.

  1. Design the GUI on paper or in excel, using the grid system.
  2. Annotate your UI design to explain why you chose some of your design elements, such as how the user inputs a letter.
  3. Create the user interface (only) in Python.
  4. Begin incorporating the logic of hangman into your program.

Homework
Theory: continue following your project plan. Begin collecting data and schedule your first interviews with your client.
Programming: Finish the user interface for hangman. Due: 14th March, 2018.

Week 5 – Term 1 2018

Learning Objective: to be able to document your project plan in the form of a Gantt chart.
Learning Objective: to understand the tasks and sub-tasks in the Problem Solving Methodology in relation to your SAT.

Theory:

We’ll be looking in closer depth at what you’ll be required to do for your SAT throughout Units 3 and 4. You will need to prepare for your folio task on Wednesday.

Your Gantt chart must take into account:

  • Due dates for your Folio (given to you in class, and listed on Compass)
  • Due dates for your other subjects.
  • General availability of your client
  • A general idea of your own skills in using software (such as creating diagrams)
  • A general idea of your own skills in programming so far
  • Other life-relevant events that may impact on your project plan (but don’t include them in your Gantt chart).

Note: your Gantt chart must be as accurate as possible at this point in time and must include all of the tasks and sub-tasks that you know as of now that you must complete for your folio. As the project progresses, you will make annotations and take notes to reflect any changes you had to make. While the initial Gantt chart is a scored component of your SAT for Unit 3, the annotations and reflections you complete throughout your project are a scored component of your SAT for Unit 4.

Programming

No new programming this week. You have a SAT scored assessment task on Wednesday during the double period.

Homework:
Theory: Complete Questions 1, 2, 3, 4, 5, 9 from Chapter 3 of your textbook.
&nbsp&nbsp&nbsp&nbspDue: 5th March, 2018

Week 4 – Term 1 2018

Learning Objective: to understand features of project plans and know how to document them in a Gantt chart.

Note: Your Design Brief is due on Wednesday. This is submission is part of SAT Observation One and must be submitted on time.

Theory

This week we’ll be looking at the features of a project plan and how to show those features in a Gantt chart.

Programming:

You will be introduced to some basic Graphic User Interface code. This week’s coding task assumes you have completed your calculator and date of birth code successfully. If you are stuck on that task, please ask me ASAP for help.

Your programming tasks are as follows:

  1. Create a GUI program that will ask someone their name and their date of birth.
  2. You should be able to use almost all of the date of birth code you created for last week’s task.
  3. Using their date of birth, calculate their age as of the current day and display it in a Label.
  4. Extension: Display their age calculation in number of years, then total number of months, then total number of days.

Homework

Theory: complete the Gantt chart task given to you in class. Due: 26th February, 2018
Programming: Complete the programming tasks for the week. Due: 28th February, 2018

Week 3 – Term 1 2018

Learning Objective: to understand what is involved in data collection and determining solution requirements.

Reminder: Your Design Brief is due next week – 21st February.

Theory

To begin the week, we’ll be finishing off the ‘Programming Fundamentals’ theory from last week.

This week we’ll be looking at what is involved in collecting data to help determine solution requirements.

Programming

Your programming tasks are as follows:

  1. Create a program that will ask someone their name and their date of birth.
  2. Using their date of birth, calculate their age as of the current day and print it.
  3. Extension: Print their age calculation in number of years, then number of months, then number of days, then number of seconds.

Homework

Theory: complete the data collection and Gantt chart tasks given to you in class. Due: 19th February
Programming: complete the age calculator program. Due: 21st February

Week 2 – Term 1 2018

Learning Objective: to understand data types and data structures used in programming.

Theory:

We’ll be covering some basic programming theory to link up with what we looked at last year in transition.

Programming:

  1. Programming Task 1: Write the following functions in Python, saved to a file called calculator.py
    – fnAddNumbers(numFirst, numSecond)
    – fnSubtractNumbers(numFirst, numSecond)
    – fnMultiplyNumbers(numFirst, numSecond)
    – fnDivideNumbers(numFirst, numSecond)
    To test your code, copy the calculatorTest.py file from the Resources folder in Compass (under ‘Programming Samples’) into the SAME folder as your program. Open it in IDLE and execute the code. Do not use raw_input() or ask a user to input numbers.
  2. Programming Task 2: Write a program that works like a calculator – a user is asked for two numbers, and then chooses: add, subtract, multiply, divide. The program should return the correct values, using your functions from the last task. Its interface, while text, should be consistent and easy to use.
  3. Programming Task 3 (Optional): Expand your program to include other mathematical calculations, such as square root, exponential functions, trigonometric functions, etc.

Homework:
Theory: Finish the Context Questions given out in class (Chapter 1, Q1-4) Due: Monday, 12th Feb.
Theory: Complete questions 1-9 from Chapter 6 of your textbook (Page 77). Due: Monday, 12th Feb.
Programming: Complete the programming tasks 1 & 2 listed above. You are encouraged to also complete Task 3. Due: Wednesday, 14th Feb.

Week 1 – Term 1 2018

Welcome back, class of 2018!

Learning Objective: to have a basic understanding of the Problem Solving Methodology and information systems
Theory:

You are expected to already have purchased your textbook – eBook or physical copy.

We will briefly discuss requirements of Unit 3, Outcome 1, and you are expected to submit your holiday homework.

This week in our single period we will be covering the basics of the PSM, including a brief outline of some of the requirements of Unit 3, Outcome 1.

Homework:
Theory: Finish the Calculator Questions we began in class Due: Monday, 5th Feb.
Programming: Submit your holiday homework, and a document providing a summary of how much of the holiday homework task you were able to complete. Due: Monday, 5th Feb.