CIS 110 Syllabus

Readings from the course textbook, Introduction to Programming in Java: An Interdisciplinary Approach by Robert Sedgewick and Kevin Wayne, are abbreviated as PIJ.

This is a tentative syllabus and schedule.  Topics, reading assignments, and due dates are subject to change.  This syllabus will be updated throughout the semester.

Lecture Recordings: Lecture recordings are available to the Penn Community here. Recordings are added automatically at some point after lecture, provided the system is working.

Wk Date Topic Reading Examples Assignments Comments
1 1/13
Introduction
course website
(especially policies)



1/15
Getting Started & Drawing in Java    

PennDraw.java
2
1/18
Martin Luther King, Jr. Day - No Class




1/20
Variables
PIJ § 1.1 - 1.2
Homework 0
due Thursday Jan 21

1/22



3 1/25
Control Structures
PIJ § 1.3

1/27



1/29

4
2/1
Loops & Arrays & N-body

Homework 1
due Tuesday Feb 2
 'Enrollment' deadline
2/3



2/5




5 2/8
Functions

PIJ § 2.1


2/10
  Homework 2
due Thursday Feb 11

2/12
Strings, Files PIJ § 2.2  


6 2/15
Libraries

2/17
 Recursion PIJ § 2.3
Homework 3
due Thursday Feb 18
2/19


 'Drop' deadline
7 2/22
Searching and Sorting PIJ § 4.1
(pg 480-483)

PIJ § 4.2
(pg 510-530)


2/24

Homework 4
due Thursday Feb 25
2/26
Midterm Review



8 2/29
Midterm Review




3/1
6:00pm
Midterm Exam
Tuesday Mar. 1st 6-8pm




3/2
2D Arrays




3/4
No Class





3/7
Spring Break - No Class






3/9
3/11
9 3/14 Mergesort



3/16 Object Oriented Programming PIJ § 3.1 Homework 5
due Thursday March 17
3/18

10 3/21
Object Oriented Programming
PIJ § 3.2


3/23
Objects
3/25


'Withdraw' deadline
11 3/28
Objects (continued)

Homework 6
due Tuesday, March 29

3/30
Objects: Constructors, Static, Final


4/1

12 4/4
Object Oriented Design PIJ § 4.3
(pg 550-562;
566-570)


4/6

Homework 7
due Thursday April 7

4/8
Linked Lists

13
4/11
Linked List Implementation (see slides above)



4/13
ArrayLists & List Computational Complexity LinkedListOfStrings.java
QueueOfDoublesInterface.java
LinkedQueueOfDoubles.java
RecursiveLinkedQueueOfDoubles.java
SentinelLinkedQueueOfDoubles.java
Homework 8
due Thursday April 14

4/15



14
4/18
Game Design (Continued)





4/20

Project Part 1
due Thursday April 21

4/22
Advanced Topics


15
4/25 Review




4/27

Review


Project Part 2
due Wednesday April 27


5/3 6pm
Final Exam
Tuesday, May 3rd 6-8pm