IB Computer Science 1
From WLCS
Contents
- 1 Tuesday - Monday (3/20/12 - 3/28/12)
- 2 Friday (3/16/12)
- 3 Monday - Wednesday (3/12/12 - 3/14/12)
- 4 Tuesday - Thursday (3/6/12 - 3/8/12)
- 5 Friday (3/2/12)
- 6 Monday - Wednesday (2/27/12 - 2/29/12)
- 7 Thursday (2/23/12)
- 8 Tuesday (2/21/12)
- 9 Tuesday - Thursday (2/14/12 - 2/16/12)
- 10 Wednesday - Friday (2/8/12 - 2/10/12)
- 11 Monday (2/6/12)
- 12 Tuesday - Thursday (1/31/12 - 2/2/12)
- 13 Archives
Tuesday - Monday (3/20/12 - 3/28/12)
Agenda:
- 3rd Quarter Exam Project
- You will design and implement a database program of your own choosing
- You will need to design the menu system
- Add
- Remove
- Edit
- Print all
- Search for one
- Calculations of some sort
- You will need to design the modules to be used
- Data container classes
- Menu system
- You will implement the designed program and all of its necessary classes
- Deadline: Wednesday (3/28/12)
- You will need to print out all your documentation and code
Friday (3/16/12)
Agenda:
- Designing and implementing a database solution
- Front-end vs. Back-end review
- Documentation
- User documentation (manual)
- Design documentation
- System documentation
- System documentation
- Create flow chart that illustrates the options and flow of the menu system (Don't forget to show that it loops!)
- Create a chart that has each class/file as a box and link them to show how they interact
- Create a set of tables that describes each class/file that we created
- Class name - describe the purpose of the class
- Attributes - describe each attribute
- Methods - describe each method and what it does
- Go through and comment your code
- Put a commented header at the top of each file
- The header should have the filename, purpose of the file, and author's name (you!)
- Print out and put everything together into one packet (menu flow chart, modular organization, all the code)
Monday - Wednesday (3/12/12 - 3/14/12)
Agenda:
- Demo Gradebook
- Add a (s)ort feature to your gradebook
- Searching and editing students
Tuesday - Thursday (3/6/12 - 3/8/12)
Agenda:
- Gradebook System
- Course class
- Student class
- Gradebook Menu
- Add a menu system to our gradebook example. The menu will allow the teacher to add students to a list of students
- Print out a menu with the following options
- (a)dd student
- (r)emove student
- (p)rint student list
- (q)uit
- Prompt the user what they would like to do
- Check what they input and then perform the task they want to do
- If they want to add a student, then you must create a new student and prompt the user for a name and id number. You should then add it to your list of students
- If they want to remove a student, then you must prompt the user for a name or id number. You must then use a linear search to find the student in the list. (Hint: Look at Advanced Python List Exercises). After finding the student, then you can del it from the list. You should also print a message in case the student was not found
- If they want to print the student list, then write a loop that prints all the students in the list
- If they want to quit, then break out of the loop
- Continually repeat the entire menu system forever
Friday (3/2/12)
Agenda:
- Rectangle class practice
- Attribute(s): width, height
- Method(s):
- __init__(self, width=0, height=0)
- __str__(self) - returns a string like "Rectangle WIDTH by HEIGHT"
- getWidth(self) - returns the width
- setWidth(self, newWidth) - saves newWidth into self.width
- getHeight(self) - returns the height
- setHeight(self, newHeight) - saves newHeight into self.height
- getArea(self) - returns the area of the rectangle
- isSquare(self) - returns True if the width is equal to the height, otherwise return False
- Gradebook System
Monday - Wednesday (2/27/12 - 2/29/12)
Warmup:
- What is Object-Oriented Programming? Describe in layman's terms.
Agenda:
- Object-Oriented Programming Review
- Parts of a class
- Class declaration at the top: class CLASSNAME:
- Initializer: def __init__(self, PARAMS):
- Give default or initialize values of attributes
- Methods: def METHODNAME(self, PARAMS):
- A function inside a class
- Python Class References
- Class-wide construction of an object-oriented program
- Point class example review
- Circle class practice
- Attribute(s): radius
- Method(s):
- __init__(self, radius=0)
- __str__(self)
- getRadius(self) - returns the radius of the circle
- setRadius(self, newRadius) - changes the self.radius to newRadius
- getDiameter(self) - returns the diameter of the circle
- getArea(self) - returns the area of the circle
- Rectangle class practice
- Attribute(s): width, height
- Method(s):
- __init__(self, width=0, height=0)
- __str__(self) - returns a string like "Rectangle WIDTH by HEIGHT"
- getWidth(self) - returns the width
- setWidth(self, newWidth) - saves newWidth into self.width
- getHeight(self) - returns the height
- setHeight(self, newHeight) - saves newHeight into self.height
- getArea(self) - returns the area of the rectangle
- isSquare(self) - returns True if the width is equal to the height, otherwise return False
- Create a Student class with the attributes on the board
Thursday (2/23/12)
Agenda:
- List, nested list, and for loop quiz
- Demo missing assignments
- Introduction to Object-Oriented Programming
- Class-wide construction of an object-oriented program
- Point class example
- Circle class example
- Rectangle class example
- Create a Student class with the attributes on the board
Tuesday (2/21/12)
Warmup:
- Assume you have a matrix = [ [2, 4, 6], [1, 3, 5], [0, 1, 2] ]
- Write a nested loop that sums all the elements
Agenda:
- Complete Nested List demos (multiplying matrices is optional)
- Nested Loops review
- Pig Latin Translator w/ Lists
- List Surprise
- Closed-book Quiz on Thursday (2/23/12)
- Lists
- Nested Lists
- String Lists
- for loops
Tuesday - Thursday (2/14/12 - 2/16/12)
Warmup:
- Assume you are given the following code:
a = ???
b = ???
#Using an additional variable, swap the values in a and b (even though you don't know what they are)
Agenda:
- Complete Advanced Python List Exercises
- Introduction to Nested Lists
- Nested List Practice
- Application in matrices
- Other applications
- Nested List Practice
- Create a program that calculates the determinant of a 2x2 matrix. Be sure to test your program.
- Create a program that calculates the determinant of a 3x3 matrix. Be sure to test your program.
- Create a program that multiplies two matrices against each other
Wednesday - Friday (2/8/12 - 2/10/12)
Warmup:
Agenda:
- Demo Advanced Python List Exercises through Min/Max
- Demo Turtle - List Assignment
- Complete Advanced Python List Exercises
- For loop
Monday (2/6/12)
Warmup:
- On a separate sheet of paper, write out the algorithm to find the minimum number in a list of numbers
Agenda:
- Advanced Python List Exercises
- You should be completed through Min/Max
- Turtle - List Assignment
Tuesday - Thursday (1/31/12 - 2/2/12)
Warmup:
- Create a Python Turtle program that tells the turtle to move forward 100
- Don't forget about exitonclick()
Agenda:
- Advanced Python List Exercises
- You should be completed through Min/Max
- Turtle - List Assignment