|
Syllabus: Course Overview
Text sections |
Class sessions
|
Assignments |
None
|
1
|
|
Outline -
-
Goals and Content
- Learn and use software engineering principles
- Think first
- Abstraction centered design
- Plan for change
- Exploit tools and libraries
- Learn interface and implementation of data structures
- Collections of object in general
- Lists: singly- and doubly-linked
- Stacks
- Queues
- Trees
- Sets, Maps, Hash tables
- Balanced trees
- Learn a range of standard algorithms and applcations of data structures
- Searching
- Binary search in arrays
- Binary (and other) search trees
- Hash tables
- Sorting
- Selection sort
- Bubble sort
- Insertion sort
- Shell sort
- Merge sort
- Heapsort
- Quicksort
- Priority queues and heaps
- Build programming skills
- Use (some) features new to Java 5.0
- Use Java class libraries
- Solve a number of programming problems
- Use a Java integrated development environment
- Use and build class hierarchies
-
Prerequisities
- Good performance in suitable offering of 121 or 123
- Screening interview
- Strong Java programming skills at 121/123 level
- Basic math and reasoning skills at college level
-
Format
- Discussions
- Assignments
- Mid-term evening exam
- Final exam
-
-
-
- Reading
- Assignments, exams
- Participation: attendance, asking/answering questions
- Timeliness
-
- Honesty policy
- Late work policy
-
-
Educational lab
-
-
|
|