Description

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.

Personnel

Section 001: 1:00-1:50pm, MWF, Aylesworth C111

Instructor: Russ Wakefield
Office: COMSC 240
Office Hours: 8-9 M-F
Email: Russ.Wakefield@colostate.edu

TA: Jess Cobb
Office: COMSC 120A
Office Hours: 3-5 T
Email: jesscobb@rams.colostate.edu

TA: Katherine Griffin
Office: COMSC 120A
Office Hours: TBD
Email: ktgrifin@rams.colostate.edu

TA: Abigail Rictor
Office: COMSC 120A
Office Hours: TBD
Email: amrictor@rams.colostate.edu

Prerequisites

Placement into M117

Textbook

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 on Canvas by classtime, Aug. 25, 2017. See the instructions for registering your iClicker on the resources tab.

Zyante (Required):

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:
  1. Sign up at zybooks.com
  2. You must register your account with your rams.colostate.edu email address.
  3. 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 ktsmith@rams.colostate.edu, this student's EID is ktsmith.
  4. When prompted, enter zyBooks code: COLOSTATECS150WakefieldFall2017
  5. Click Subscribe
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.

Java Programming Textbook (Optional):

Liang - An introduction to Java

Piazza (Optional):

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 team@piazza.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:
  • Java Programming
  • Linux Operating System
  • Eclipse Development Tools
  • Programming Assignments
  • Zyante Chapters
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:
  • 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 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

What Days Time Instructor Helper Where
Lecture (Section 1) MWF 1:00pm - 1:50pm Russ Wakefield Engr 120
Recitation 1 (R01) M 10:00am - 10:50am Jess Cobb Sabrina White COMSC 325
Recitation 2 (R02) M 4:00pm - 4:50pm Abigail Rictor Jess Cobb COMSC 325
Recitation 3 (R03) M 9:00am - 9:50am Katherine Griffin Jess Cobb COMSC 325
Recitation 4 (R04) M 2:00pm - 2:50pm Jess Cobb Abigail Rictor COMSC 325
Recitation 5 (R05) M 8:00am - 8:50am Jess Cobb Katherine Griffin COMSC 325

Help Desk

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.

Days Time Where
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

Lab Availability

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.

Complete Schedule

An overview of the tentative schedule for the entire semester is provided here, but we may make changes at anytime!

Grading

The course requires you to demonstrate a grasp of the concepts on anumber of evaluation components. Here is the grading scheme:

Activity Weight Description
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 topics.
  • 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:

Letter Grade Points
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.

Important Dates

Date Description
First day of classesAug. 21
Last day of classesDec. 10
Last day for add w/o overrideAug. 27
Last day for add w/ overrideSep. 6
Last day for dropSep. 6
First midterm Week 4
Second midterm Week 8
Last day to withdrawOct. 26
Third midterm Week 12
Early Access - Final Exam Fri, Dec 8, 8a-3p
Final Exam Fri., Dec 15, 7:30am to 9:30am

Midterm and final exams will be held in the CS110 lab. 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.