The purpose of the CS160 course is to introduce students to fundamental
concepts in computer science. Concepts from theory, programming and
architecture will be interleaved to show how software and hardware
complement each other. Theory will provide the basis for understanding
the software and hardware design. The course will adopt a problem
solving focus with an integrated view of the computer. For programming,
the course covers the basic Java syntax and language features,
compilation, interpretation, execution, primitive data types, class and
object usage, parameter passing, flow of control constructs and arrays.
For theory, the course will cover sets, functions, logic, simple proof
and invariants. Architecture concepts will include simple computer
models, data representations and memory models.
- Instructor: Sudipto Ghosh
Lecture: 9:00-9:50am, MWF, CLARK A203
Office Location: COMSC 468
Mon. 1:00pm-2:00pm (COMSC 120 lab)
Fri. 10:00am-11:00am (office)
- Instructor: Chris Wilcox
Lecture: 12:00-12:50pm, MWF, CLARK A201
Office Location: COMSC 256
Mon. 2:00pm-3:00pm (COMSC 120 lab)
Wed. 2:00pm-3:00pm (office)
Fri. 1:00pm-2:00pm (office)
- Ghazal Fahimi
- Email: ghfahimi
- Laura Adams
- Email: bf327c
- Darshan Washimkar
- Email: darshanw
- David Thorpe
- Email: dbthorpe
- Gabriella Fontani
- Email: gfontani
MATH 118 (College Algebra in Context II) with a C or better
Java Programming (Required):
Java: An Introduction to Problem Solving and Programming
Savitch (7th edition)
Discrete Math (Required):
Discrete Mathematics and Its Applications (7th Edition)
The Rosen text will be used in CS161 and CS200 as well.
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 online by noon, January 28, 2015. See the instructions
for registering your iClicker on the resources tab.
We are using an online tutorial from Zyante to supplement the Savitch textbook. You must purchase
the tutorial directly from Zyante (not the bookstore), and the cost is $35. Instructions for
registering with Zyante are here. 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 January 30, 2015.
We are experimenting this semester with the use of online bulletin board software called
Piazza. We will invite you via email, and Piazza will send you a link to the page for our
course. You can also use the following link.
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, 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
- Zyante Chapters
- Please do not post any of your assignment code on Piazza.
- No profanity, sexism, racism, or anything in bad taste, of course!
- Please no grade inquiries, use the help desk or cs160 email alias instead.
Lectures and Labs
| Lecture (Section 1) || MWF || 9:00pm - 9:50am || Sudipto Ghosh || || CLARK A203 |
| Lecture (Section 2) || MWF ||12:00pm -12:50pm || Chris Wilcox || || CLARK A201 |
| Lecture (Section 301) || MWF || 9:00pm - 9:50am || Sudipto Ghosh || || CLARK A203 |
| Lab (L01) || MW || 1:00pm - 1:50pm || Chris Wilcox || Darshan Washimkar || COMSC 215 |
| Lab (L02) || MW || 3:00pm - 3:50pm || Gabriella Fontani || Laura Adams || COMSC 215 |
| Lab (L03) || TR || 9:00am - 9:50am || Derek Isabelle || Andrew Cook || COMSC 215 |
| Lab (L04) || TR ||11:00am -11:50am || Laura Adams || Miles Blaisus || COMSC 215 |
| Lab (L05) || TR || 1:00pm - 1:50pm || Darshan Washimkar || Tanner Evans || COMSC 215 |
| Lab (L06) || TR || 4:00pm - 4:50pm || David Thorpe || Conrad Christensen || COMSC 215 |
| Lab (L07) || MW || 2:00pm - 2:50pm || David Thorpe || Gabriella Fontani || COMSC 215 |
| Lab (L08) || TR ||10:00am -10:50am || Laura Adams || Nick Hain || COMSC 215 |
| Lab (L09) || TR ||12:00pm -12:50pm || David Thorpe || Miles Blaisus || COMSC 215 |
| Lab (L10) || TR || 8:00am - 8:50am || Laura Adams || Derek Isabelle || COMSC 215 |
| Lab (L11) || WF || 8:00am - 8:50am || Gabriella Fontani || Justin Glover || COMSC 215 |
| Lab (LN1) || TR || 9:00am - 9:50am || Derek Isabelle || Andrew Cook || COMSC 215 |
The help desk is held in the COMSC 120 lab. This is where students can go to get help
with assignments and resolve grading issues.
| Mon. || 10:00am-noon || Ghazal Fahimi || COMSC 120 |
| Mon. || 4:00pm-5:00pm || Laura Adams || COMSC 120 |
| Tue. || 1:00pm-3:00pm || Ghazal Fahimi || COMSC 120 |
| Wed. || 4:00pm-5:00pm || Laura Adams || COMSC 120 |
| Thu. || noon-2:00pm || Ghazal Fahimi || COMSC 120 |
| Fri. || 11:00am-1:00pm || Ghazal Fahimi || COMSC 120 |
The lab hours shown below are held in either the COMSC 120 or COMSC 215 labs, please
check the location carefully. 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.
| Mon. || 5:00PM-7:00pm || Darshan Washimkar || COMSC 120 |
| Sun. || 5:00PM-7:00pm || Conrad Christensen || COMSC 215 |
Some students have requested our schedule for the entire semester. An overview of the
semester is provided here
, however, we reserve
the right to make changes at anytime!
The course requires demonstration of a student’s grasp of the concepts on evaluations.
Here is the grading scheme:
| Assignments || 15% || Java Assignments, Math Homeworks |
| Reading Quizzes || 10% || RamCT (Math), Zyante (Java) |
| Labs || 10% || Lab Attendance and Completion |
| Peer Instruction || 5% || In-Class iClicker |
| Programming Quizzes || 10% || In-Lab Programming |
| Midterm 1 || 15% || First Midterm |
| Midterm 2 || 15% || Second Midterm |
| Final Exam || 20% || 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 send
email to firstname.lastname@example.org instead of directly to the instructors. Grade
complaints will be considered only for two weeks immediately following when the
assignment grade appears on RamCT!
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.
Zyante is an online tool to help you get hands-on practice
for the Java Programming topics being discussed in class and Lab.
RamCT has online discrete math reading quizzes. In addition there will
be two math homeworks on paper that will be graded during your lab.
Peer Instruction sessions are held during lectures and require you to bring
an iClicker. These are usually but not always held on Fridays, and we will announce
in class and online whenever iClickers are needed Monday or Wednesday. Scores are
weighted (approximately) as follows: 70% for participation, 30% for correctness.
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% |
We will not
assign lower grades than shown.
|First day of classes||Tue., Jan. 20 |
|Last day of classes||Fri., May. 8 |
|Last day for restricted drop||Fri., Jan. 23 |
|Deadline to add without override||Sun., Jan. 25 |
|Last day to withdraw||Mon., Mar. 23 |
|First in class midterm||Fri., Feb. 20, during class |
|Second in class midterm ||Fri., Apr. 3, during class |
|Final Exam (Section 001) ||Thu., May. 14, 11:50am to 1:50pm |
|Final Exam (Section 002) ||Wed., May. 13, 7:30am to 9:30am |
Midterms and the final exam will be held in the same classroom as regular lectures.
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.