Syllabus Spring '09

This course is an introduction to the field of computer science. You will exercise the creative and logical sides of your brain like never before, applying them to the development of software. You will learn the Python programming language, web development tools, and deploy your projects in the 'cloud' using Google's App Engine. You will learn about and discuss how technology effects society, and how computer scientists can help.  Most important, you will improve your problem-solving skills in a manner which will help you in all walks of life.

Who Should Take the Course?

  • Anyone who wants to learn how to program and develop web pages. No matter what your major or vocation, knowing how to create software is an important skill and can get you a job. Want to set yourself up? Take the CS 110-112 sequence.
  • Beginners: No prior programming experience required or expected.
  • Computer Science majors or potential ones: This is the first course for the computer science major.
  • Other Majors: Many students who are not computer science majors take this class and often the next one in the sequence (CS112). The programming skills learned in this class can lead to getting a job and also towards a graduate degree in computer science or an interdisciplinary subject. This class also covers the Core Math B requirement. Note that CS also offers another course that covers this requirement, CS 107, which is less technical and slower paced.

When and Where

MWF 1:30-3:15.
Harney Science Center, rm. 235

Who

Professor: David Wolber
Office: Harney 529
Phone: 422-6451
email: wolber@usfca.edu
Office Hours: MW 3:30-4:30 or by appointment

TA: Evren Bingol
email: evrenbingol@gmail.com

Reading

How To Think Like a Computer Scientist (on-line)
Additional readings handed out in class.

Grading

Attendance/Participation                                                         10%
Projects                                                                                   50%
Midterm                                                                                   20%
Final                                                                                        20%

Software Development Assignments

There will be a software development assignment due every two to three weeks. You will have time in class to work on these assignments, but you will also need to put in ample time outside of class. These assignments constitute nearly one-half of your grade! Begin them early and visit your professor and teaching assistant regularly-- unlike a test, you can assure full credit on these projects through hard work.

Labs

Most days we'll have an in-class lab. These labs typically involve programming or design. They're typically graded on a done/not done scale. If you're focused, you can probably finish them during class. If not, you'll ned to finish them outside of class (your professor has office hours after class on Monday and Wednesday).

Attendance and Participation

Attendance is mandatory; if you miss a class without a valid excuse (doctor's note for illness, USF-sponsored event, etc) one percentage point of your overall grade will be deducted. Also, you cannot make up any lab assignments from days you miss without a valid excuse. If you miss more than three sessions, you will be asked to drop the course.

Late Policy

Late assignments and labs will not be accepted.