MWF 1:30-3:15
harney 235

CS 110:Introduction to Computer Science I

schedule

course wiki

Learn how to write computer programs with two popular languages, Python and Java. Learn basic computer science concepts, like how program code is translated into the electronic currents understood by a computer. Learn about some Web 2.0 technologies like wikis and blogs. Most importantly, learn how to problem-solve.

Prerequisites? No programming experience is required, though some students in the class will have some. The pace will be faster than CS 107, which is primarily for non-majors and offers a slower introduction to the computer science discipline. If you are not sure which course to take, speak to Professor Wolber.

Why take this course?

Topics

Programming

Programming in both Python and Java, with Windows and Linux operating systems. Variables and expressions, I/O, functions, conditionals, iteration, and collections. Introduction to complex data types and object-oriented programming. Exposure to interactive development environments.

Technology

Use of social and collaborative software (wikis, blogs, RSS readers, etc.). Study and discussion of how technology is changing society.

Computer Science

Introductory material on computer architecture, program translation, operating systems, and software engineering

Problem Solving

This is what the class is really about!

Instructor

wolber@usfca.edu
office: harney 529
422-6451
office hours: MW 3:30-4:30

 

 

Course Format

Learn-by-Doing! The course is a lecture/lab format, with lecture, discussion, and computer labs each day.

Participation in class is essential. Attendance and participation is crucial. How-to-program knowledge is stored in our brains and finger-tips. Missing even one class can put you way behind (and slow down the class). And 10% of your grade is based on mini-labs completed in class. These assignments cannot be made up.

Grading

Projects and in-class labs/participation 50
Midterms (2) 30
Final 20

Textbooks and Resources

Downey, et.al., How to Think Like A Computer Scientist (free and on-line)
Lewis and Loftus, Java Software Solutions: Foundations of Program Design 5th Edition, 2006.
Python Documentation
Java API

Academic Honesty

ALL assignments are to be completed individually unless specified, in writing, on the assignment. Academic dishonesty will NOT be tolerated. This is your warning! Students are encouraged to meet with me if they have questions regarding assignments or this policy. Students caught cheating will face severe penalty.

Students may:

Students may NOT:

Requirements

Penalties

  • Students caught violating the academic honesty policy will face severe penalty. A first offense will result in a 0 on an assignment and a report to the Dean's office.