CS164: Java (CS1) Prior Programming
Computer programming in Java for students with previous programming experience,
not necessarily in Java. Topics include variables, assignment, expressions, operators,
booleans, conditionals, characters and strings, control loops, arrays, objects and classes,
file input/output, interfaces, recursion, lists, and sorting.
- CS164 (Section 001)
- Lecture: 12:00-12:50 MWF, Clark A206
- Instructor: Russ Wakefield
- Email: waker
Office Location: COMSC 240
Office Hours: 10-11:30 Thurs.
- Graduate Teaching Assistants
- Phil Sharp
- Office Hours: TBD (CSB120)
- Email: sapmitra
- Undergraduate Teaching Assistants
- Bassem Faour
- Office Hours: Wed. 2-4 (CSB120)
- Email: bfaour
- John Vanderhoofven
- Office Hours: Fri. 2-4 (CSB120)
- Email: javander
MATH 124 (Logarithmic and Exponential Functions) with a C or better
Java Programming (Required):
Introduction to Java Programming (Comprehensive Edition), Daniel Liang
(10th or 11th edition)
The course textbook is available through the CSU Bookstore’s
Inclusive Access Program in partnership with Unizin Engage.
You have immediate access to the online e-text by clicking on
the “Unizin Engage” link within the course menu in Canvas.
Please note, there is a cost for the e-text. The bookstore
will charge your student account for the cost of the e-text
after the Add/Drop date (January 31). You must “opt-out” of
the Unizin Engage e-text before the Add/Drop date to avoid
bookstore charges. However, this text is required for the
course and the cost savings of the e-text can be substantial.
Please look for emails from the bookstore about ‘opting out’ as
well as charges to your student account. Once you choose to
“opt-out,” you will no longer be allowed to access the e-text
We are using an online tutorial from Zyante to supplement the
Liang textbook. You must purchase the tutorial directly from
Zyante (not the bookstore), and the cost is $48. Instructions for
registering with Zyante are as follows:
Once you have registered you can sign in to the book by browsing
to www.zybooks.com. Please
register in time to complete the first assignment, which is due
Sep. 1, 2017.
- Sign up at zyBooks.com
- Enter zyBook code: COLOSTATECS164Spring2018
- Click Subscribe
- When asked to enter your Student ID number, enter your EID. Your
EID is the same as your user name you log into Canvas with.
You are required to purchase an iClicker remote for in-class
participation. iClicker is a response system that allows you
to respond to questions we pose during class, and you
will be graded on that feedback and participation. In order to
receive this credit, you will need
to register your iClicker remote on Canvas by classtime on Friday of
Week 1. See the instructions
for registering your iClicker on the resources tab.
This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and
efficiently from classmates, teaching assistants, and myself. Rather than emailing questions to the teaching staff,
I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email
email@example.com. Piazza will be accessed via the Module tab on Canvas.
Piazza does not cost anything to students or the department. It allows students to
post questions and get answers about the following topics:
We expect to post clarifications about assignments as well as answering questions relating
to assignments. Also, we plan on handling regrade requests, look for an announcement on rules
for posting these to Piazza. Please use the existing topics we have created, do not create new ones.
There are a number of things that we prohibit on Piazza, as follows:
- Java Programming
- Linux Operating System
- Eclipse Development Tools
- Programming Assignments
- Online Textbook
- Please do not post any of your assignment code on Piazza.
- No profanity, sexism, racism, or anything in bad taste, of course!
| Lecture || T/R || 12:00pm - 12:50pm
|| Russ Wakefield || || Clark A206 |
| Lab (L01) || TR || 11:00am - 11:50am
|| Bassem Faour
|| John Vanderhoofven
|| COMSC 325 |
| Lab (L03) || TR || 1:00pm - 1:50am
|| John Vanderhoofven
|| David Hallstrom
|| COMSC 325 |
| Lab (L04) || TR || 3:00pm - 3:50pm
|| John Vanderhoofven
|| Alice Lundberg
|| COMSC 325 |
The help desk is a breakout room on the north side of the COMSC 120 lab.
Throughout the day there are lab operators in COMSC 120 that can
provide limited help, but during the hours posted below a teaching
assistant from this class is available to help students.
The COMSC 120 lab is open 24/7.
| Sun. || 4:00pm- 8:00pm || COMSC 120 |
| Mon. || 10:00am- 6:00pm || COMSC 120 |
| Tue. || 10:00am- 6:00pm || COMSC 120 |
| Wed. || 10:00am- 6:00pm || COMSC 120 |
| Thu. || 10:00am- 6:00pm || COMSC 120 |
| Fri. || 10:00am- 4:00pm || COMSC 120 |
The course requires demonstration of a student’s grasp of the concepts on evaluations.
Here is the grading scheme:
| Assignments || 10%
|| Java Assignments |
| Quizzes || 10%
|| IClicker and Zybooks |
| Labs || 10%
|| Lab Attendance and Completion |
| Programming Quizzes || 10%
|| In-Lab Programming |
| Midterm 1 || 15%
|| First Midterm |
| Midterm 2 || 15%
|| Second Midterm |
| Midterm 3 || 15%
|| Third Midterm |
| Final Exam || 15%
|| Comprehensive Exam |
Teaching assistants grade assignments, labs, and quizzes. If you believe you
have been graded unfairly, talk with the help desk (assignments) or your
teaching assistant (labs) first. If you cannot visit help desk, please post
to the grade complaints topic on Piazza. Grade complaints will be considered
only for two weeks immediately following when the assignment grade appears on Canvas!
Assignments will be done individually. As required by the department, we
will check for collaboration using a software tool, so do your own work!
Lab participation is strongly encouraged. A portion of the class
grade comes from successfully finishing the assigned lab work, and our previous
students have indicated that labs are the best part of this class.
Programming Quizzes will be taken during lab hours with no additional
aids. They are used to test your understanding of Java topics.
Liang is the online textbook to help you get hands-on practice
for the Java Programming topics being discussed in class and Lab.
Peer Instruction sessions are held during lectures and require
you to bring an iClicker. These sessions can occur at anytime during
a lecture, be sure to have your iClicker with you.
There will not be any paper quizzes during lectures.
The assignment of letter grades will be made as follows:
| A || ≥90% |
| B || ≥80% |
| C || ≥70% |
| D || ≥60% |
| F || <60% |
In general, we will not
assign lower grades than shown; however, your average score on exams must
be ≥60% to receive a passing grade (C) in this course.
|First day of classes ||Jan 16 |
|Deadline to add without override ||Jan 21 |
|Deadline to add with override ||Jan 31 |
|Last day to drop ||Jan 31 |
|First midterm (CS110 lab) ||Fri, Week 5 |
|Last day to withdraw ||Mon, Week 9 |
|Second midterm (CS110 lab) ||Fri, Week 10 |
|Third midterm (CS110 lab) ||Fri, Week 14 |
|Early Access - Final Exam ||Fri, Week 15, 8a-3p
|Final Exam ||Wed, May 9 - 7:30a-9:30a
Midterms and final exams will be held in the CS110 lab.
The final exam is comprehensive.
All students taking this course are expected to participate actively. This includes asking and
responding to questions. Students are also expected to scan the announcements on the home page
and the progress page every day for updates. If an assignment changes significantly, we are
responsible for sending out an email.