CS1150 (Summer 2012)

Principles of Computer Science



Quick Info

Principles of Computer Science
Brian Parks (bparks AT synapsesoftware DOT net)
Office: ENGR 148 (inside ENGR 149, VAST Lab)
Office Hours: By appointment ONLY
Syllabus: (
pdf)
Emailed files should be named using the following syntax (all lowercase):

        cs1150.1206-last_name-first_name-pa#.zip

About the course

The course catalog has the following to say about this course:

Introduction to programming with emphasis on computer science concepts. Develops methods for computer problem solving. Develops proficiency for programming in a modern programming language, and introduces the concepts of abstraction in problem solving. Includes basic concepts of computer systems and environments including debuggers, editors, and file systems. Prer., High school algebra and familiarity with computer concepts including file operations and text editing.

Announcements

Lecture Notes and Videos

  1. Monday, 11 June — Introduction to Computers and Java. (1.1-3) Part 1 Part 2
  2. Wednesday, 13 June — Variables and Expressions. Strings. (2.1-2) Video
  3. Monday, 18 June — Console input/output. Documentation. (2.3-4) Video
  4. Wednesday, 20 June — Selection. (3.1-3) Video
  5. Monday, 25 June — Iteration. (4.1-2) Video
  6. Wednesday, 27 June — Classes. Methods. Top-down design. (5.1, 5.3) Video
  7. Monday, 2 July — Information Hiding. Encapsulation (5.2) Video
  8. Wednesday, 4 July — MIDTERM EXAM
  9. Monday, 9 July — Constructors. Static. Overloading. Packages. (6.1-7) Video
  10. Wednesday, 11 July — Arrays. (7.1-5) Video
  11. Monday, 16 July — Inheritance. Polymorphism.(8.1-3) Video
  12. Wednesday, 18 July — Interfaces. Abstract Classes. (8.4) Video
  13. Monday, 23 July — Exceptions. (9.1-3) Video
  14. Wednesday, 25 July — File I/O. (10.1-3, [10.4-5]) Video
  15. Monday, 30 July — Recursion. (11.1-2) Video
  16. Wednesday, 1 August — FINAL EXAM

Assignments

  1. Assignment 1: Basic Java — due Monday, 18 June
  2. Assignment 2: Variables — due Monday, 25 June
  3. Assignment 3: Selection and Iteration — due Monday, 2 July
  4. Assignment 4: Classes and methods — due Monday, 9 July
  5. Assignment 5: Modular code — due Monday, 16 July
  6. Assignment 6: Inheritance — due Monday, 23 July
  7. Assignment 7: Exceptions — due Monday, 30 July

Resources