Class meetings:
| Mon, Tue, Thurs: | 9:00AM | Room MC 132 |
| Mon: | 10:00AM | Room MC 121(lab) |
Office Hours
| Mon | 11AM-1PM |
| Thurs | 10AM-12noon |
Required Texts
Stuart Reges and Marty Stepp, Building Java Programs, A Back to Basics Approach, Addison-Wesley, Boston, 2008. ISBN 0-321-38283-8
Other References:
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to algorithms, 2nd ed, The MIT Press, Cambridge, 2001, ISBN 0-262-03293
Course Prerequisites:
Time management ability and basic high school math. Prior programming experience not needed. (That's the reason you're here!)
Grading Criteria
| Homework: | 30% (bi-weekly, 4.5% for 1~5, 7.5% for 6) |
| Lab assignment: | 10% (binary grading) |
| Tests (2@15%): | 30% |
| Final Exam (all-inclusive): | 30% |
Course Description
The focus of the course is on algorithm design, data representation, programming, and application. To convert algorithms to programs, Java is the chosen language to demonstrate a variety of control structures and data structures. Programs of increasing difficulty will be assigned to students to enhance the skill of problem analysis and solution design.
Course Goals
At the completion of this course, students should:
Homework/Laboratory Assignments
Students will be given exercises to complete during the weekly laboratory sessions. The grade is binary (0/1) for each submission. Each laboratory assignment should be completed and handed in within 48 hours. A homework assignment containing five to ten problems will be handed out every two weeks. In all cases, students must submit an algorithm description and a well-documented program in Java for every problem.
Policy on Collaboration
Policy on Assignments:
Completed assignments must be handed in at the time they are due. Late submissions will not be accepted.
Course Outline:
| Week | Date | Topic | Text Reference | Announcements | ||
|---|---|---|---|---|---|---|
| Week 1 | 8/28 | Getting acquainted ... | ||||
| Week 2 | 9/2 | Series 1: Introduction to Algorithmic Problem Solving | Homework1 out | |||
| 9/4 | Updated lecture notes | |||||
| Week 3 | 9/8 | |||||
| Lab1 | Right-angle triangle in stars | |||||
| 9/9 | Updated lecture notes | |||||
| 9/11 | ||||||
| Week 4 | 9/15 | Series 2: Basic Computing Concepts | ||||
| Lab2 | "T" in stars | |||||
| 9/16 | ||||||
| 9/18 | Series 3: Primitive Data | Homework2 out | ||||
| Week 5 | 9/22 | Discussion on Homework1 | ||||
| Lab3 | "Hello World!" and temperature converter | |||||
| 9/23 | Jave Primitive Types | Section 2.1 | ||||
| 9/25 | Variables | Section 2.2 | ||||
| Week 6 | 9/29 | Series 4: Looping | Section 5.2 | |||
| Lab4 | Computing compound interests | |||||
| 9/30 | Section 2.3 | Homework3 out | ||||
| 10/2 | Prime number example using for-loop Prime number example using while-loop | |||||
| Week 7 | 10/6 | Test 1 (materials covered in HW1 & 2) | ||||
| Lab5 | Square numbers | |||||
| 10/7 | Greatest Common Divisor Square root | |||||
| 10/9 | Series 5: Interactive Programming | Section 3.4 | ||||
| Week 8 | Lab6 | Division exercise, division.java | ||||
| 10/14 | Homework4 out | |||||
| 10/16 | Homework3, Problem #3 | |||||
| Week 9 | 10/20 | Series 6: Managing Complexity | sections 1.4, 3.1 & 3.2 | |||
| Lab7 | Printing Z again | |||||
| 10/21 | Case study: Encoding problem | |||||
| 10/23 | ||||||
| Week 10 | 10/27 | Series 7: Objects | Section 3.3 | |||
| Lab8 | Printing sum of fractions | |||||
| 10/28 | conversion for encoding | Homework 5 out | ||||
| 10/30 | ||||||
| Week 11 | 11/3 | |||||
| Lab9 | Square-root problem again | |||||
| 11/4 | Test 2 (open-book) | |||||
| 11/6 | Series 8: Conditional Execution and Patterns | Section 4.2 | ||||
| Week 12 | 11/10 | |||||
| Lab10 | Computing the area | |||||
| 11/13 | ||||||
| Week 13 | 11/19 | Series 9: File Processing | Section 6.1 | Homework 6 out | ||
| 11/13 | Series 10: Arrays | Section 7 | ||||
| Week 14 | 11/24 | |||||
| lab11 | Bubble sorting | |||||
| 11/25 | ||||||
| Week 15 | 12/1 | The toy program for polling | ||||
| lab12 | Discussion session for Homework6 | |||||
| 12/2 | The toy program for image smoothing | |||||
| 12/4 | Series 11: Algorithm Analysis | |||||
| Week 16 | 12/8 | Series 12: Recursion | Section 12 | |||
| lab12 | Discussion session for Homework6 | |||||
| 12/9 | The complete program for the encoding problem | |||||
| 12/11 | Final: 3:30~5:40 |