CS 115: Programming I Assignments

Links: [Course Home] [Assignments] [Schedule] [Resources] [Programming Tools] [Moodle] [CS 115W]


Lecture and Readings

You are responsible for all material presented in lecture and are expected to get the notes from another student if absent.

You are also expected to spend additional time outside of class to master the lecture material. Reading assignments and learning objectives are posted for each week. You should read as much or as little as necessary to meet the learning objectives.

You can expect frequent small assignments or quizzes in lecture. You should bring at least a 4" by 6" notecard or a half-sheet of paper to each lecture for this purpose. Your lowest three grades on these small assignments will be dropped.


Labs

The weekly lab allows you to practice programming with immediate feedback from the instructor and other students. Lab attendance is expected. Each week's lab assignment will be posted online and linked from the course schedule and Moodle.

Unless otherwise specified, each lab assignment has several different components, which total 40 points.

Note: Grades on the labs tend to be high, but you should be sure to clear up any mistakes you make. The course material is cumulative, and small misunderstandings can add up to big mistakes over the course of the semester.

Pre-Lab

This is a Moodle "quiz" to prepare you for the week's lectures and lab. To prepare, you will be expected to read a preview of the material for the week and a high-level description of the problem to be solved in the lab.

Pre-labs are not supposed to be high-stakes assignments. They're auto-graded, and you can take them as many times as you want without penalty. They are meant to help you get the most out of the lectures and labs.

Lab Writeup

You should open the lab writeup in Moodle as soon as you sit down to do the lab. As you work through the lab, some of the lab instructions will ask you to go to your writeup and answer a question to check your understanding. There will also be some open-ended questions that the course staff will grade by hand. Just like the pre-lab, you can answer each question as many times as you like without penalty.

Lab Demo

Most weeks, you will be asked to demo one or more working programs to the course staff. We will make sure your program works correctly on a set of basic tests.

Demos must be done in person. They will be accepted in any lab section, workshop, or tutoring hours up to the deadline (see the top of the Moodle page for the schedule). Due to space constraints, they will NOT be accepted during office hours.

Submitted Lab Code

Most weeks, you will also be asked to submit one program for more thorough testing and grading. Each lab will provide instructions on how to do this.

You are expected to have a docstring in each submitted program that contains your name, the lab number, and a brief description of what your program does.

Lab deadlines and points

ComponentPosted byDue byPoints
(out of 40)
Late policy
Pre-labTh 9 AMTu 7 AM (online)10No late credit
Lab writeupMon 5 PMThe following Tu, 4 PM (online)10Half credit up to one week late
Lab demoLab, tutoring, or workshop by the following Tu, 4 PM (see Moodle for times)10
Lab codeThe following Tu, 4 PM (online)10

Lab Collaboration Policy

You are encouraged to work with other students in the labs. However, you must turn in all lab work individually, and you must be able to explain and stand by all of the work you turn in for credit.


Programming Projects

Programming projects require you to take the skills you've learned in lecture and lab and apply them at a larger scale. They are a rewarding and challenging part of the course, and they require perseverance and time management skills. Projects must be one student's individual work, and the collaboration policy will be strictly enforced.

The programming projects are larger assignments, but they will usually be broken into pieces as follows:

There is an automatic 48-hour grace period associated with the final code submission deadline. No other extensions will be granted.

Project deadlines and points

ComponentDue byLate policy
Demo(s)In person; last chance is Thu workshopNo late credit
Final project codeOnline; see project instructionsUp to 48 hours with no penalty

Programming Project Collaboration Policy

Programming projects must be your own work unless otherwise stated, and academic misconduct is taken very seriously. You may discuss ideas and approaches with other students and the course staff, but you should work out all details and write up all solutions on your own. The following actions will be penalized as academic dishonesty:


Exams

The exams cover the material from lecture, lab, and the textbook. Exams are cumulative, although they will emphasize recent material.

You may bring one 8.5 by 11-inch handwritten sheet of notes (front and back). This is the only resource that you may consult, other than your brain.

Makeup exams will be given only in extraordinary circumstances, and the instructor MUST be notified in advance.