CSU211 Overview |
This course is an introduction to computing and programming. Its major goal is to introduce students to the principles of systematic problem solving through programming and the basic rules of computation.
The course does not assume any prior programming experience. It is therefore suitable for freshmen students---majors and non-majors alike---who wish to explore the intellectual ideas of the discipline.
Prerequisites: The course assumes a basic familiarity with arithmetic and algebra. It does demands curiosity, self-discipline, and some amount of people skills, because all computer scientists end up working with others interactively all the time, including in this course.
Lecture: Monday, Wednesday and Thursday, 4:35PM–5:40PM, Mugar 201.
Lab: Monday, 11:45PM–1:25PM OR 2:50PM–4:30PM, WVH 210.
| Sam | Tuesday, 10-12am | WVH 308 |
| Carl | Friday, 10-12am | WVH 308 |
| Felix | Wednesday, 2:00-4:00pm | WVH 308 |
| (Hours subject to change) | ||
The course will closely follow How to Design Programs. This book is available in the campus store, as well as for free online.
Northeastern and the College of Computer Science expect high standards of academic honesty for its students. If you collaborate with other students on homework, this must be declared on the homework that you submit. However, each partnership must do their own work. Submitting the work of others as your own is plagarism, as is submitting answers found on the internet, or anywhere else.
If you believe that you may have engaged in any behavior that violates these standards, please come to see the course staff immediately. We can help you determine the correct course to take.
If you do not inform the course staff, and you are found to have engaged in violations of the academic honesty policy, you will be subject to sanctions, potentially including being reported to OSCCR and grading penalties up to receiving a failing grade for the class.
For more information about academic honesty, see here.
Most of the assignments will require that you work in pairs. Partnerships will be assigned in the first lab. The partnerships will change over the semester.
Pair programming means that you and your partner study the problem sets individually and possibly even sketch out solutions. Then you meet and jointly develop solutions to every problem. One partner acts as the pilot for the computer keyboard. The other partner acts as the co-pilot, whose role is to monitor and question the approach of the co-pilot. You must switch off the pilot/co-pilot roles during each session, and note the switch-off's in your journal.
You are free to discuss the problem sets with other students (both in and outside of this class). If you do so, you must acknowledge all collaboration at the beginning of your assignment. Note that this allows discussion, not copying. We expect each individual homework submission to represent that partnership's sole effort. Likewise, your homework code should never be shared with anyone other than your partner.
Each partner must be able to solve every homework problem by the due date. "My partner did that one" does not excuse you from being able to do a problem.
Lecture attendance is required. A portion of your grade will be determined based on your class participation.
Also: Laptops are not allowed in class!
Lab attendance is required. Quizzes will be given in lab. Lab is also your best opportunity to work with the TAs to clarify your understanding of the material. You will have the same lab time for the entire semester, depending on which section you registered for. Students will have partners in their same lab.
Important updates will appear on the course front page. You are therefore are expected to check the course web page frequently.