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 1 & 2
Instructor: Chris Wilcox
Email: wilcox@cs.colostate.edu
Office: COMSC 256
Office Hours: Thu. 11:00-12:00
Lectures:
  - 1:00-1:50pm, MWF, CLARK A201
  - 3:00-3:50pm, MWF, CLARK A203
GTA
Thomas Harrison
Email: blacksum@cs.colostate.edu
GTA
Ghazal Fahimi
Email: ghfahimi@cs.colostate.edu
UTA
Ian Bertolacci
Email: ibertola@rams.colostate.edu
UTA
Kaila Thornton
Email: kbthornt@rams.colostate.edu
UTA
Kira Lindburg
Email: kjlind@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, September 5, 2013. See the instructions for registering your iClicker on the resources tab.

Lectures and Recitations

What Days Time Who Where
Lecture (Section 1) MWF 1:00pm - 1:50pm Chris Wilcox CLARK A201
Lecture (Section 2) MWF 3:00pm - 3:50pm Chris Wilcox CLARK A203
Recitation (L01) TR 8:00am - 8:50am Chris Wilcox COMSC 215
Recitation (L02) TR 9:00am - 9:50am Kira Lindburg COMSC 215
Recitation (L03) TR 10:00am - 10:50am Kira Lindburg COMSC 215
Recitation (L04) TR 11:00am - 11:50am Kaila Thornton COMSC 215
Recitation (L05) TR 12:00pm - 12:50pm Kaila Thornton COMSC 215
Recitation (L06) TR 1:00pm - 1:50pm Thomas Harrison COMSC 215
Recitation (L07) TR 2:00pm - 2:50pm Thomas Harrison COMSC 215
Recitation (L08) TR 3:00pm - 3:50pm Chris Wilcox COMSC 215
Recitation (L09) TR 4:00pm - 4:50pm Ian Bertolacci COMSC 215
Recitation (L10) TR 5:00pm - 5:50pm Ian Bertolacci COMSC 215
Recitation (L11) MW 8:00am - 8:50am Ian Bertolacci COMSC 215

Help Desk

Days Time Who Where
Mon. 1:00pm - 3:00pm Ghazal Fahimi COMSC 120
Tue. 1:00pm - 3:00pm Ghazal Fahimi COMSC 120
Wed. noon - 2:00pm Ghazal Fahimi COMSC 120
Thu. 9:00am - 11:00pm Ghazal Fahimi COMSC 120
Fri. 1:00pm - 3:00pm Ghazal Fahimi COMSC 120

Lab Hours

Days Time Who Where
Mon. 9:00am - 10:00am Kaila Thornton COMSC 120
Mon. 9:00am - 11:00am Thomas Harrison COMSC 120
Mon. 10:30am - 11:45am Chris Wilcox COMSC 120
Mon. 3:00pm - 4:00pm Ian Bertolacci COMSC 120
Wed. noon - 1:00pm Kaila Thornton COMSC 120
Wed. 1:00pm - 3:00pm Thomas Harrison COMSC 120
Wed. 4:00pm - 5:00pm Ian Bertolacci COMSC 120
Sun. 5:00pm - 7:00pm Andrew Cook 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
Assignments 20% Programming and Theory Homework
Recitations (Labs) 10% Lab Attendance and Completion
Programming Tests 10% In-Lab Programming
Peer Instruction 5% In-Class iClicker
My Programming Lab 5% www.myprogramminglab.com practice
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.

Late and Makeup Policy

Midterm and Finals: Make-up exams are only given for extraordinary circumstances (e.g., illness, death of family member). Students must consult with the instructor as soon as possible, preferably before the start of the exam. Examination dates are listed in the syllabus; be aware of them and plan accordingly.

Peer Instruction: Make-ups will be given for missed peer instruction if you have a documented excuse. If you are missing your iClicker during class, submit the answers on a paper with your name and ID to the instructor, for up to 80% credit.

Recitations: Make-ups will be given for missed recitations if you have a documented excuse, please arrange with the instructor or a teaching assistant.

Programming assignments: Programs are submitted electronically. Details of how this is done appears with the first assignment. Always check the progress page for due dates. The due date will include a day and time. The assignment will also specify a late acceptance period which will include a late penalty of 20%. After the late period, electronic submission is closed; students that have not submitted programs receive no points for the assignment.

Theory assignments: Theory assignments must be submitted per the instructions in the assignment. Handwritten and scanned is acceptable, but the handwriting must be legible. The instructors and TAs reserve the right to decide whether or not a paper is legible. If a late period is allowed, late assignments will be accepted subject to a 20% late penalty.

Important Dates

Date Description
First day of classesMon., Aug. 26
Last day of classesFri., Dec. 13
Last day for restricted dropFri., Aug. 30
Deadline to add without overrideMon., Sep. 1
Last day to withdrawMon., Oct. 21
First in class midtermFri., Sep. 27, during class
Second in class midterm Mon., Oct. 28, during class
Final Exam (Section 1) Mon., Dec. 16, 4:10pm to 6:10pm
Final Exam (Section 2) Tue., Dec. 17, 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.

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.