CSci 160 syllabus


Welcome to CSCI 160! Our primary goal in this course is to learn how to write short programs using an industrial-strength programming language. We'll be studying Java, one of the most popular programming languages today.

For two reasons, this course requires constant vigilance. First, programming is very cumulative. If you miss one topic, you won't understand following topics.

Second, the programming skills taught here are exercised in most succeeding computer science courses. Therefore, if your work in 160 is mediocre, you'll likely be struggling for a C in many later courses. So don't let your guard down here.


For your own reference. I recommend K N King's Java Programming: From the Beginning. But my use of this text will only be in cross-referencing the text in my posted Web notes, to facilitate your own independent study. If you find a book you like better, go with it.


Following is the test schedule; topics are more tentative.

15 Jan-21 JanVariables
23 Jan-29 JanBasic control 23 Jan:Quiz 0
31 Jan-6 FebUsing objects 31 Jan:Quiz 1
8 Feb-14 FebArrays 8 Feb:Quiz 2
18 Feb-22 FebDefining classes 18 Feb:Midterm 0
5 Mar-11 MarAdvanced control 5 Mar:Quiz 3
13 Mar-19 MarInheritance 13 Mar:Quiz 4
21 Mar-27 MarDebugging 21 Mar:Quiz 5
3 Apr-9 AprGUI development 3 Apr:Midterm 1
11 Apr-17 AprFiles 11 Apr:Quiz 6
19 Apr-25 AprRecursion 19 Apr:Quiz 7
29 Apr-3 MayBig-O analysis 29 Apr:Quiz 8


Participation / in-class work 65
Labs (35 pts each) 385
Quizzes (30 pts each, lowest dropped) 240
Midterm (80 pts each) 160
Final 150
Anticipate the traditional 60-70-80-90 grade assignments. I reserve the right to make adjustments in the entire scheme or for particular cases.

In-class work

Occassionally, without warning, I will assign practice work during class for a grade. Such work will be worth up to six points. If you are absent, you will miss these points, unless you have given sufficient reason (in my judgement) for the absence in advance. There will be no make-ups for these assignments.


All tests are cumulative, although quizzes will tend to apply recent knowledge. I have a strong tendency to ask questions based on past quizzes and assignments. I write tests with regard only to my own standards; I anticipate, however, the median will be around 75%.

Missing tests

I will not administer make-ups for missed quizzes. Note your lowest quiz score will be dropped to allow one absence.

Make-ups for the midterms or final are available for good reason given advance notice. I strongly suggest notifying me at least 24 hours in advance. Do not miss an exam without my advance permission! My tolerance for after-the-fact notification is limited only to dire emergencies.

Plagiarism and groupwork

You must properly attribute any work or ideas you use in assignments for this course which are quoted or derived from others. Plagiarism includes not only copying the ideas and the written and spoken words of others, but also copying or otherwise appropriating their computer files as well. Interfering with the work of others including their use of computing facilities is also a serious academic offense. I will report all instances of plagiarism, cheating, or other academic misconduct to the appropriate Academic Dean, and I will give an F for that assignment or for the course at my discretion.