CS 111: Introduction to Computer Science

Course Information

Book

The textbook for this class is Python Programming: An Introduction to Computer Science, by John M. Zelle.

Grading

Your grade in the course will be determined by your performance on one in-class midterm exam shortly before midterm break (20%), one takehome exam near the end of the term (20%), a final project due the last day of finals (20%), and homework (40%).

How to submit your homework

Most of your homework in this class will involve writing computer programs. To submit a program, you can drag it to your Courses/.../hand-in/ folder. Alternatively, if you're using one of the CS department's lab computers, you can use the Homework Submission Program (HSP) to submit your work. HSP is generally pretty convenient if you are working on one of the 3rd-floor CMC lab computers. Elsewhere, it's probably a lot easier to drag your work to hand-in.

Sometimes, you'll submit a program and then want to submit a revision. The way the hand-in system works, once you have submitted a file, you can't delete it and submit a new one. To get around this problem, you should rename your program by adding a number. For example, if your original submission was called menu.py and you have a revision to submit, call the revision menu2.py. Need another revision? Call it menu3.py, etc. Using this system will make it easy for the grader and me to identify the program you want us to grade.

Late homework

Homework submitted after the due time but within 24 hours will be docked 25%. Homework submitted between 24 and 48 hours after the due time will be docked 50%. After that, you're out of luck. If you know you're going to have trouble with a particular deadline, please let me know as early as possible, and we'll work something out.

Collaboration

Working with your classmates is usually a good thing. Sharing insights can be fun, and can enhance everybody's learning. The main danger of collaborating on course work is in allowing your collaborator to do all the work, and thus all the learning. If you want to work together on homework for this class, that's fine with me, but take care not to fall into collaboration's traps.

For programming assignments in this class, you may work alone or with one other person. If you work with a partner, you should submit one copy of the code with both students' names in the comments at the top of the program.

For all other assignments, you may work with others, but should write up your answers individually.

If you have any doubts about what constitutes acceptable collaboration, contact me and we'll discuss it.

Rough Schedule