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. Please note that we have no control over the recording system and cannot correct any malfunctions. Lecture recordings are not a substitute for attending lecture; they are intended only to help you review the material.

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



1/12
Getting Started & Drawing in Java    

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




1/17
Variables and Types
PIJ § 1.1 - 1.2
Homework 0
due Thursday Jan 18

1/19



3 1/22
Control Structures
PIJ § 1.3

1/24



1/26

4
1/29
Loops & Arrays & N-body

Homework 1
due Tuesday Jan 30
 'Enrollment' deadline
1/31
Arrays (continued)



2/2
Functions




5 2/5
Functions
(Dr. Eaton out of town)
PIJ § 2.1



2/7

Homework 2
due Thursday Feb 8

2/9
Strings, Files

PIJ § 2.2

6 2/12
Libraries

  • MyStats: 10am 12pm (also see FileReadingDemo from last lecture)

2/14
 Recursion PIJ § 2.3
Homework 3
due Thursday Feb 15
2/16


 'Drop' deadline
7 2/19
Searching and Sorting
(Dr. Eaton out of town 2/19)
PIJ § 4.1
(pg 480-483)

PIJ § 4.2
(pg 510-530)


2/21

Homework 4
due Thursday Feb 22
2/23
Exam Review



8 2/26
Exam Review




2/27
6:00pm
Exam 1
Tuesday Feb 27 6-8pm




2/28
2D Arrays




3/2
No Class





3/5
Spring Break - No Class






3/7
3/9
9 3/12 Intro to Object Oriented Programming



3/14 Object Oriented Programming PIJ § 3.1 Homework 5
due Thursday March 15
3/16

10 3/19
Objects: Constructors, Static, Final PIJ § 3.2

3/21
Objects
3/23


'Withdraw' deadline
11 3/26
Testing and JUnit
(Dr. Eaton out of town 3/26)

Homework 6
due Thursday, March 29

3/28
Object Oriented Design

3/30


12 4/2
Linked Lists PIJ § 4.3
(pg 550-562;
566-570)


4/4
Homework 7
due Thursday April 5

4/6
ArrayLists & List Computational Complexity
13
4/9
Linked Lists vs Arraylists (continued)




4/11
Linked Lists vs Arraylists (continued)

Homework 8
due Thursday April 12

4/13



14
4/16
Exam Review





4/18
Exam Review




4/19
6:00pm
Exam 2
Thursday April 19 6-8pm




4/20
No class due to exam the previous night




15
4/23 Mergesort



4/25

Advanced Topics





5/3



Project
due Thursday May 3