The purpose of the CS150 course is to introduce students to
fundamental concepts in computer science. Concepts that introduce logic,
programming, and interaction with the operating system will be
interleaved to show how systems and applications software complement each
other. The logic portion will adopt a problem solving focus with
an integrated view of the computer. For programming, the class
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
interaction with the operating system, the class will show how to use
Linux for day to day operations as a software developer.
Section 001: 10:00-10:50pm, MWF, Clark A206
Office: COMSC 240
Office Hours: 10-11:30 Thursday
TA: Jess Cobb
Office: COMSC 120A
Office Hours: Fri. 10-1
TA: Sarah Hultin
Office: COMSC 120A
Office Hours: Fri. 1-4
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 of Friday of Week 1. Click on the IClicker tab in
Canvas to register your IClicker.
We are using an online tutorial from Zyante to supplement the
Liang textbook. You must purchase the tutorial directly from
Zyante (not the bookstore). 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 - the due date can be
found on the schedule page.
- Sign up at zybooks.com
- You must register your account with your rams.colostate.edu email address.
- Additionally, please enter your EID in the Student ID field. Note: Your EID is your modified name CSU assigned to you, not your 9-digit student number.
For example, if an email address is firstname.lastname@example.org, this student's EID is ktsmith.
- When prompted, enter zyBooks code: COLOSTATECS150Spring2018
- Click Subscribe
Java Programming Textbook (Optional):
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
This term we will be using Piazza
for class discussion. The
system is highly catered to getting you help fast and efficiently
from classmates, the teaching staff (TAs and instructors). Rather
than emailing questions to the teaching staff, we 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
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
- No profanity, sexism, racism, or anything in bad taste, of
- Please no grade inquiries, use the help desk or talk to your
TA or instructor
Setting up Eclipse on a personal computer (Optional):
Go to the Resources tab on the CS150 website. The instructions are given in
the Eclipse Environment section.
Lectures and Labs
| Lecture (Section 1) || MWF || 10:00pm - 10:50pm
|| Russ Wakefield || || Clark A206 |
| Recitation 1 (R01) || Wed || 11:00am - 11:50am
|| Jess Cobb || Tre Donsereaux || COMSC 325 |
| Recitation 2 (R02) || Wed || 12:00pm - 12:50pm
|| Jess Cobb || Sarah Hultin || COMSC 325 |
| Recitation 3 (R03) || Wed || 2:00pm - 2:50pm
|| Jess Cobb || Tre Donsereaux || COMSC 325 |
| Recitation 4 (R04) || W || 3:00pm - 3:50pm
|| Sarah Hultin || Kate Griffin || COMSC 325 |
The help desk is held in the COMSC 120 lab - room 120A. This is where students
can go to get help with assignments and resolve grading issues.
| 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 |
| Sun. || 4:00pm-8:00pm || COMSC 120 |
The COMSC 215 and COMSC 225 labs are sometimes available for you to use the Linux
computers, but only when there is not a class in session.
The schedule for the class can be found off the schedule tab in the syllabus.
The course requires you to demonstrate a grasp of the concepts on
anumber of evaluation components. Here is the grading scheme:
| Programming Assignments || 10% || Java Assignments|
| Quizzes || 10% || Canvas/IClicker |
| Lab Assignments || 10% || Recitation Attendance and Completion |
| Zybooks Assignments || 10% || Zybooks|
| Midterm 1 || 15% || First Midterm |
| Midterm 2 || 15% || Second Midterm |
| Midterm 3 || 15% || Third Midterm |
| Final Exam || 15% || Final 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 feel
they did not treat you fairly, email the instructor.
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
Zyante is an online tool to help you get hands-on practice
for the Java Programming topics being discussed in class and Lab.
Canvas 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 held during the
lectures and require you to bring your IClicker every day.
Scores are weighted (approximately) as follows: 70 points for
participation, 10 points per question 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% |
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
|First day of classes||Jan. 16 |
|Last day of classes||May. 4 |
|Last day for add w/o override||Jan. 21 |
|Last day for add w/ override||Jan. 31 |
|Last day for drop||Jan. 31 |
|First midterm ||Friday of Week 4 |
|Second midterm ||Friday of Week 8 |
|Last day to withdraw||Mar. 19 |
|Third midterm ||Friday of Week 12 |
|Early Access - Final Exam ||Fri, May 4, 8a-3p |
|Final Exam ||Thurs., May 10, 7:30am to 9:30am |
Midterm 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.