Navigation

CS 110: Introduction to Computer Science

This course provides 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

MW 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, Thursdays 1:30-2:30, or by appointment

TA: JT O'Loughlin
Email: j.oloughlin at gmail.com
Office Hours: TR 2:30 - 3:30, Harney 530/535

Student Google Site Portfolios:

Reading

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

Grading

Portfolio
    includes projects, lab assignments, and reading responses      50%
Midterm                                                                                          25%
Final                                                                                               25%


Software Development Projects

There will be a significantly-sized software project due every two to three weeks. You will have some time in class to work on these assignments, but you'll need to spend ample time outside of class to complete them. These assignments constitute a significant part 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.

Lab Assignments

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 often finish them during class. If not, you'll need to finish them outside of class (your professor has office hours after class on Monday and Wednesday). You should upload the code for and document the completion of each lab project on your portfolio.

Portfolio
Everything you do should be put on or linked to from your portfolio. If its not on the portfolio, it doesn't exist! Your portfolio will be checked three times during the semester. These deadlines are strict-- any lab assignments or reading responses submitted on the portfolio after the due date will not be accepted.

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.