Mr. Rogers' IB Computer Science - First Quarter Objectives |
Syllabus | Android Project | 1st Quarter | 2nd Quarter | 3rd Quarter | 4th Quarter |
|
Essential Question: What would be the difference in handling an error caused by a user vs. one caused by a programming mistake? |
Error Handling, Personal Project Specifications
(I Object-Oriented Program Design, II Program Implementation, III Program Analysis)
1. Explain the necessity of error handling in a program.
2. Write programs capable of throwing exceptions
3. Correctly use the Assertion mechanism of java.
4. Explain functional decomposition and abstraction.
5. Describe top-down design.
6. Correctly design both interacting classes and an interface.
7. Be familiar with the above requirements for the Personal Project.
Programming Assignment: Design a short program to demonstrate throwing exceptions and using the Assertion mechanism. The program must have a simple GUI interface with some form of GUI based text input and output.
Assignment: Begin work on the personal project
Essential Question: How can you tell if you have the fastest algorithm? |
Chapter 18: Big-O Analysis of Algorithms
(III Program Analysis)
Homefun: Read Chapter 18; Exercises 1, 3, 5, 7, 9
Test: Chap 18
Essential Question: How is data structured and why is structure important? |
Chapter 19: The Java Collections Framework
(IV Standard Data Structures)
2. Be familiar with the Collections<E> interface and the methods listed for it on p.468.
3. Be aware that Java collections only work with objects.
4. Describe what has to be done to store primitive data types in a collection.
5. Explain how autowrapping or autoboxing works in Java 5.
6. Be familiar with the Iterator<E> interface and the methods listed for it on p. 470.
7. Be aware that a List is a type of Collection whose elements are arranged in sequence and indexed (starting at 0).
8. Be aware of the limitations of ArrayList caused by the fact that it is stored in contiguous memory as an array.
· Adding an element requires moving all the ones with a higher index
· When the initial size allocation is exceeded, the ArrayList must allocate space for a bigger array and copy all the data to it. (It does this automatically, but it still represents a big overhead).
9. Describe the double-linked node type structure of the LinkedList and how it solves the contiguous memory problem.
10. State the key drawback of a Linked List. It 's not a random access collection.
11. Describe the term LIFO and relate it to the Stack class.
12. Be familiar with the stack class and the methods listed for it on p. 479.
13. Describe the term FIFO and relate it to the Queue interface.
14. Be familiar with the Queue class and the methods listed for it on p. 481.
15. Correctly use the PriorityQueue class.
16. Be aware that a Set is a Collection with no duplicates in it.
17. Be familiar with the use of and properties of Maps:
· NOT a Collection
· a mapping from a set of keys to a set of values, such as account numbers mapped to customers.
· a key is mapped to a single value but a value can have many keys mapped to it.
· has NO iterator method
9. Be familiar with the tables on pages 490 to 491.
Homefun: Read Chapter 19; Exercises 1, 3, 7, 8, 9, 13, 18
Programming Assignments: Exercises 2, 11, 12
Test: Chap 19
Essential Question: What is a traversal and why is it important? |
Chapter 20: Lists and Iterators
(IV Standard Data Structures, V Standard Algoritms)
Homefun: Read Chapter 20; Exercises 1, 2, 3, 4, 5, 6, 7
Programming Assignments: 15 Quicksort problem, Lab 20.4 Implementing a Singly-Linked List, Lab 20.5 Linked List With a Tail, Lab 20.4 Doubly Linked List and Circular List
Test: Chap 20