Description

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.

Personnel

Section 001
Instructor: Laura Adams
Email:
Office: COMSC 248
Office Hours: Mon. noon-1:00pm, Fri. 10:00-11:00am
Lecture: 9:00-9:50am, MWF, CLARK A203

Section 002
Instructor: Chris Wilcox
Email:
Office: COMSC 256
Office Hours: Thu. 11:00am-12:00pm
Lecture: 12:00-12:50pm, MWF, CLARK A201
GTA
Noah John
Email: njohn@cs.colostate.edu
GTA
Rahul Dutta
Email: duttar@cs.colostate.edu
UTA
Ian Bertolacci
Email: ibertola@cs.colostate.edu
UTA
Amanda Carbonari
Email: acarbona@cs.colostate.edu

Prerequisites

MATH 118 (College Algebra in Context II) with a C or better

Textbook

Java Programming (Required):

Java: An Introduction to Problem Solving and Programming
Savitch (6th edition)

Discrete Math (Required):

Discrete Mathematics and Its Applications (7th Edition)
The Rosen text will be used in CS161 and CS200 as well.

iClickers (Required):

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 9, 2014. See the instructions for registering your iClicker on the resources tab.

Lectures and Recitations

What Days Time Who Where
Lecture (Section 1) MWF 9:00am - 9:50am Laura Adams CLARK A203
Lecture (Section 2) MWF 12:00pm -12:50pm Chris Wilcox CLARK A201
Recitation (L01) MW 1:00pm - 1:50pm Chris Wilcox COMSC 215
Recitation (L02) MW 3:00pm - 3:50pm Ian Bertolacci COMSC 215
Recitation (L03) TR 9:00am - 9:50am Laura Adams COMSC 215
Recitation (L04) TR 11:00am -11:50am Noah John COMSC 215
Recitation (L05) TR 1:00pm - 1:50pm Amanda Carbonari COMSC 215
Recitation (L06) TR 4:00pm - 4:50pm Amanda Carbonari COMSC 215
Recitation (L07) MW 2:00pm - 2:50pm Ian Bertolacci COMSC 215
Recitation (L08) TR 10:00am -10:50pm Laura Adams COMSC 215
Recitation (L09) TR 12:00pm -12:50pm Noah John COMSC 215
Recitation (L10) TR 12:00pm -12:50pm Rahul Dutta COMSC 225
Recitation (L11) TR 8:00am - 8:50am Ian Bertolacci COMSC 215

Help Desk

Days Time Who Where
Mon. 1:00pm - 3:00pm Noah John COMSC 120
Tue. 2:30pm - 3:30pm Noah John COMSC 120
Wed. 1:00pm - 3:00pm Noah John COMSC 120
Thu. 2:30pm - 3:30pm Noah John COMSC 120
Fri. 2:00pm - 4:00pm Noah John COMSC 120

Lab Hours

Days Time Who Where
Mon. 8:00am - 10:00am Ian Bertolacci COMSC 120
Mon. 10:00am - 11:00am Amanda Carbonari COMSC 120
Mon. 10:00am - noon Rahul Dutta COMSC 120
Fri. 9:00am - 10:00am Amanda Carbonari COMSC 120
Sun. 5:00pm - 7:00pm Amanda Carter COMSC 215

Grading

The course requires demonstration of a student’s grasp of the concepts on evaluations. Here is the grading scheme:

Activity Weight Description
Programming Assignments 15% Java Assignments
Math Homeworks 10% Online or Paper Math Assignments
Recitations 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, recitations, and quizzes. If you believe you have been graded unfairly, talk with the help desk (assignments) or your teaching assistant (recitations) before meeting with the instructor. Grades 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!
  • Recitation participation is strongly encouraged. Part of the class grade comes from successfully finishing the assigned lab work.
  • Programming Quizzes will be taken during lab hours with no additional aids. They are used to test your understanding of Java topics.
  • My Programming Lab is an online tool to help you get hands-on practice for the topics being discussed in class and recitation.
  • Peer Instruction sessions are held during lectures, usually on Fridays. Scores are weighted as follows: 70% for participation, 30% for correctness.
The assignment of letter grades will be made as follows:

Letter Grade Points
A ≥90%
B ≥80%
C ≥70%
D ≥60%
F <60%

We will not assign lower grades than shown.

Important Dates

Date Description
First day of classesTue., Jan. 21
Last day of classesFri., May. 9
Last day for restricted dropFri., Jan. 24
Deadline to add without overrideSun., Jan. 26
Last day to withdrawMon., Mar. 24
First in class midtermFri., Feb. 21, during class
Second in class midterm Fri., Apr. 4, during class
Final Exam (Section 001) Mon., May. 12, 11:50am to 1:50pm
Final Exam (Section 002) Mon., May. 12, 4:10pm to 6:10pm

Midterms and the final exam will be held in the same classroom as regular lectures. The final exam is comprehensive.

In Class Participation

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.