CPSC 120 Principles of Computer Science Spring 2013

CPSC 120 Syllabus

Reading, when assigned, is to be done for the class period where it is listed.

Dates for things in light gray are tentative and may shift slightly.

  Assignments

Week 1: 1/23-1/25

Topics: introduction

   

Wed Slides:    

Fri lab #1
Introduction to Linux
due Fri 2/1

(comments)
 

Week 2: 1/28-2/1

Topics: HTML

 

Mon Reading:

How to read this material: Don't worry about memorizing all the details of exactly how to write particular tags - you can always look up the details when you need them. Focus instead on the terms that are introduced (what are tags?), the structure of an HTML document (what's the title? the head? the body? how do the elements fit together?), and what kinds of things can be done (e.g. bold, various ways to align paragraphs).

Reference:

  • HTML Tutorial - the long list of things under "HTML Tutorial" and "Formatting Tags" provides reference and examples for many things you can do in HTML
  • The Bare Bones Guide to HTML - a quick reference, useful if you are familiar with HTML and just need to look up a particular tag

Slides:

Examples:

  • in-class exercises
  • solution to the in-class exercises: roses.html (in Firefox, right-click on a page and choose "View Page Source" to see the HTML that produced the page)
 

Tue Laptop Setup Appointments: Bring your laptop to the appointment! Also, see the signup page for your appointment time and instructions about what to do before your appointment.  

Wed Reading:

Reference:

Examples:

  • in-class exercises
  • roses2.html (for the in-class exercises; in Firefox, right-click on a page and choose "View Page Source" to see the HTML that produced the page)
  • solution to the in-class exercises: roses2.html (Try removing the clear attribute from the br tag - what happens? Now remove the align attribute from the img tag instead - what happens?)
 

Thu Laptop Setup Appointments: Bring your laptop to the appointment! Also, see the signup page for your appointment time and instructions about what to do before your appointment.  

Fri lab #2
Web Pages
due Fri 2/8

(comments)
 

Week 3: 2/4-2/8

Topics: creating interactive pictures with Processing

 

Mon Reading:
  • Learning Processing, chapters 1 and 2

How to read this material: Don't worry about memorizing every detail of syntax the first time you read it. Instead, focus on what information is there (e.g. chapter 1 covers coordinates, colors, and drawing simple shapes) so that you can look up the details later. Pay attention to the examples, and make sure you understand why they produce the results they do.

Examples:

 

Wed Reading:
  • Learning Processing, chapter 3

Examples:

 

Fri lab #3
Introduction to Processing
due Fri 2/15

(comments)
 

Week 4: 2/11-2/15

Topics: representation and animation

 

Mon Reading:
  • Learning Processing, sections 4.1-4.5

Slides:

Examples:

 

Wed Reading:
  • Learning Processing, sections 4.6-4.7

Examples:

 

Fri lab #4
Representation and Animation
due Fri 2/22

(comments)
 

Week 5: 2/18-2/22

Topics: making choices

 

Mon Reading:
  • Learning Processing, sections 5.1-5.5

Examples:

 

Wed Reading:
  • Learning Processing, sections 5.6-5.8

Examples:

project #1
Stampede!
due Wed 3/6

(comments)

Fri lab #5
Making Choices
due Fri 3/1

(comments)

Week 6: 2/25-3/1

Topics: more complex animation and interaction


Mon Reading:
  • Learning Processing, sections 5.7-5.8 (review from last week's reading)

Examples: (developing 'if' statements)


Wed Slides:

Examples: (complex motion)


Fri lab #6
More Complex Animation
due Fri 3/15

(comments)

Week 7:3/4-3/8

Topics: modularity and reuse


Mon Reading:
  • Learning Processing, sections 7.1-7.6
Slides:

Examples:


Wed
exam #1
Wed 3/6 in class
 

Fri lab #7
Modularity and Reuse
due Fri 3/15

(comments)
 

Week 8: 3/11-3/15

Topics: modeling the natural world

 

Mon Reading:
  • Learning Processing, section 13.6
  • Learning Processing, section 13.10
    (focus on what it has to say about recursion; try to ignore the mentions of loops and iteration if that doesn't make sense, and the unfamiliar syntax in some of the examples)

Examples:

 

Wed Reading:
  • Learning Processing, sections 14.1, 14.5, 14.8
    (focus on what it has to say about 2D; also, some of the example use syntax that we haven't covered yet - just try to concentrate on how translate(), rotate(), pushMatrix(), and popMatrix() are used)

Examples: (click to increase max depth)

 

Fri lab #8
Modeling Nature
due Fri 3/29
 

Spring Break: 3/18-3/22

 

Week 9: 3/25-3/29

Topics: repetition

 

Mon

Examples:

lab #8
Modeling Nature
due Fri 3/29

(comments)
 

Wed Reading:
  • Learning Processing, sections 6.1-6.4

Examples: (decomposing a problem into loops)

 

Fri lab #9
Repetition
due Fri 4/5

(comments)
 

Week 10: 4/1-4/5

Topics: repetition, again

 

Mon Examples:  

Wed Examples:  

Fri lab #10
More Repetition
due Fri 4/12

(comments)
 

Week 11: 4/8-4/12

Topics: more of the same

 

Mon Reading:
  • Learning Processing, sections 9.1-9.5
    (don't worry about the examples where things like Car and Human are used as types or when it talks about objects - just think of them as another type like int or float)

Examples:

 

Wed
exam #2
Wed 4/10 in class
project #2
A Lot of Hot Air
due Wed 4/24

(comments)

Fri

Week 12: 4/15-4/19

Topics: more of the same


Mon Reading:
  • review sections 9.1-9.5
Examples:

Wed Reading:
  • Learning Processing, section 9.6
Examples:

Fri lab #11
More of the Same
due Fri 4/26

(comments)

Week 13: 4/22-4/26

Topics: images


Mon

Reading:

  • Learning Processing, sections 15.1, 15.5-15.8

Examples:


Wed Reading:
  • Learning Processing, section 15.10
Examples:
 

Fri lab #12
Images
due Fri 5/3

(comments)
project #3
Capstone
due Tue 5/14 11:30am

Week 14: 4/29-5/3

Topics: principles of computer science; what computing can (and can't) do


Mon Slides:

Examples:


Wed Slides:

Examples:


Fri  

Week 15: 5/6-5/7

Topics: what computing can (and can't) do

 

Mon Slides:

Examples:

 

Reading Period: 5/8-/10


Wed  

Thu  

Fri  

Exams: 5/11-5/14


Sat  

Sun  

Mon  

Tue
final exam
Tue 5/14 8:30-11:30am
end-of-semester deadline
no work accepted after 5/14 11:30am

Valid HTML 4.01!