CSCI 201: Introduction to Algorithm Design | ||||||
Description | This is an introduction to algorithms, their design, and their representation in the Java computer programming language. You will learn several programming language constructs including variables, types, conditionals, loops, functions, procedures, arrays, files, classes, interfaces, and inheritance. | |||||
Text | Java Software Solutions Foundations of Program Design, third edition , by John Lewis and William Loftus, Addison-Wesley, 2003. | |||||
Instructor |
|
Tentative Course Schedule | |||
Week Starting | Lectures & Reading | Assignments & Exams | |
Aug 11 | Introduction &
Hardware (Syllabus & Chapter 1)
(More on Personality Temperaments) |
||
Aug 18 | Simple Programs & Compiling (Chapter 1)
Objects & Classes, pets.jar |
||
Aug 25 | Primative Data Types
& Expressions (Chapter 2)
Facts.java |
||
Sept 1 | Objects & Class Libraries (Chapter 2)
Labor Day: No Monday Classes StringMutation.java |
Assignment 1 | |
Sept 8 | Conditional Statements (Chapter 3)
Review for Exam 1 |
Assignment 2 | |
Sept 15 | Looping Statements (Chapter 3) | Exam 1 Sample Solutions:
Section 1, Section 2, & Section 3 |
|
Sept 22 | Coditional Statement Examples:
Example1, Example2, Example3, Example4 Looping Statement Examples: Example1, Example2, Example3, Example4, Example5 |
||
Sept 29 | Instance Variables, Parameters & Returns (Chapter 4) | Assignment 3 | |
Oct 6 | Instance Variables vs. Local Variables
(Chapter 4)
Summary of Main Concepts pets2.jar Fall Break: No WRF classes |
||
Oct 13 | Object
References & Static (Chapter 5)
pets3.jar Reference Variable Demo (classdemo.jar) |
Assignment 4 | |
Oct 20 | Interfaces (Chapter 5) | ||
Oct 27 | Arrays (Chapter 6) | Assignment 5 | |
Nov 3 | ArrayLists & Two-Dimensional Arrays
(Chapter 6)
2D array demo: TwoDArray.java ArrayList demo: Beatles.java Review for Exam 2 |
||
Nov 10 | Inheritance (Chapter 7)
Example 1, Example 2, Example 3, |
Exam 2 Sample Solutions:
Section 1, Section 2, & Section 3 |
|
Nov 17 | Inheritance (Chapter 7) | Assignment 6 | |
Nov 24 | Exceptions
(Chapter 8) ExceptionDemo.jar Thanksgiving Break: No WRF classes |
||
Dec 1 | IO Streams (Chapter 8)
IOdemo.jar Review for Final Exam |
||
Dec 8 | Final Exam Week | CSCI 201.001 (Tue, Dec 10, 1:40-4:10) CSCI 201.002 (Tue, Dec 10, 6:00-8:30) CSCI 201.003 (Wed, Dec 11, 12:15-2:45) |
On-Line Resources |
On-line Documentation of Java Packages |
Java Programming Style Guidelines |
JGRASP |
Robocode |
Little Man Computer |
Jeliot interactive algorithm animator |
Grading | ||
Exam grades | 125 x 2 | 250 |
Assignment grades | 25 x 6 | 150 |
Lab grades | 15 x 13 | 195 |
Final Exam grade | --- | 150 |
Total Points | --- | 745 |
Lectures: A roll is not taken. Students are expected to attend all class lectures. Failure to do so will be considered a lack of interest in success on the part of the student.
Laboratories: It is especially important that you attend all labs. If you must miss a lab for illness or other emergency and if there is a free seat in a another lab during that week you may be able to make arrangements to take the lab at that time. After the week has passed you very definitely will not be able to make up the lab and you will receive a score of zero for that week's lab.
Exams: If you must miss an exam due to illness you must email or telephone the instructor before the scheduled time and perhaps something can be arranged to avoid a zero for this exam. Failure to notify the instructor prior to the scheduled time will produce an automatic zero for the exam.
Assignments will be given in class at least two weeks before the assignment is due. All assignments will involve writing programs.
The program that you write are your way of telling the instructor about your mastery of this course. Because this is a course about writing programs you are expected to take these assignments very seriously. Your programs must be clearly different than those turned in by others in the class and represent a unique and special effort on your part. All programming assignments should be submitted to your 201 ftp directory as demonstrated in lab01.