|
Week
|
Lecture 1 (Monday)
|
Lecture 2 (Wednesday)
|
Lecture 3 (Friday)
|
Lab (Tuesday or Thursday)
|
Handouts & Resources
|
|
Week 1:
|
Introduction to Computer Science
Your first Java program
|
Simple Input and Output (I/O)
Primitive data types
Typecasting
Reading: 1.1-1.3, 2.1-2.4
|
Variables and expressions
Simple String expressions
Optional Reading: 1.4, 2.5
Homework 1 due 6pm Friday
Homework Assignment 1: Greetings
|
Basic Unix Commands
Compiling and running
simple programs
primitive data types, expressions, and variables
String constants and concatenation
|
Course Syllabus
Your first Java program (ppt,pdf),
Interactive Programs (ppt,pdf),
Primitive data types (ppt,pdf)
Hello.java,
Hello2.java,
Variables.java
|
Week 2:
|
Labor Day
|
if/else and boolean expressions
Reading: 3.1
|
boolean data type and expressions
Reading: 3.2
Homework 2 due 6pm Friday
Homework Assignment 2: Meltdown
|
booleans and if/else
|
Conditions (ppt,pdf)
Swap.java,
Conditional.java,
Conditional2.java
Practice Problems 1 (docx,pdf),
Practice Problems 2 (docx,pdf)
|
Week 3:
|
The "while" loop
chars
Reading: Chapter 4
|
Loop variations (for and do/while)
|
Practice with loops
Homework 3 due 6pm Friday
Homework Assignment 3: Grades
|
control structures: while, for, do/while
ASCII art with loops
|
The "for" loop (ppt,pdf),
Loop Variations (ppt,pdf),
More Loop Variations (ppt,pdf)
PracticeIfElse.java,
Loop.java
PrintStarLine.java,
DrawFigure.java,
DrawFigure2.java,
CrapsGame.java
Practice Problems 3 (docx,pdf),
Practice Problems 4 (docx,pdf),
Practice Problems 5 (docx,pdf)
|
Week 4:
|
Array basics
Reading: 7.1
|
Arrays and loops
|
Multi-dimensional arrays
Midterm Review
Reading: 7.5
Homework 4 due 6pm Friday
Homework Assignment 4: Draw Me A Pretty Picture
|
Arrays
Midterm Review
|
Arrays (ppt,pdf),
2D Arrays (ppt,pdf),
Practice Problems 6 (docx,pdf),
Practice Problems 7 (docx,pdf)
AccumulateString.java,
AccumulateWeatherInfo.java,
AccumulateWeatherInfo2.java
Practice Problems 8 (Midterm Review) (docx,pdf),
Solutions to Practice Problems 8 (Midterm Review) (docx,pdf)
Source code for Midterm Review problem 1,
Source code for Midterm Review problem 2,
Source code for Midterm Review problem 3
|
Week 5:
|
Midterm 1
|
The String class
Reading: 2.2
|
Text processing
Homework 5 due 6pm Friday
Homework Assignment 5: ASCII Canvas
|
String type and methods
|
Text Processing (ppt,pdf)
Practice Problems 9 (docx,pdf)
Array2DExample.java,
StringMethodsExample.java,
Code to print out all char values
|
Week 6:
|
Using objects
|
More on using objects
|
Objects and Reference semantics
Reading: pages 321-327
Homework 6 due 6pm Friday
Homework Assignment 6: Web Master
|
Using objects
Geometric shape classes
|
Using Objects (ppt,pdf)
Practice Problems 10 (docx,pdf)
Solution to Practice Problems 10 (docx,pdf)
|
Week 7:
|
Files
Reading: 10.1-10.2
|
Files and loops
Files, directories, and scripts
Reading: 10.3-10.5
|
Files and I/O Exceptions
Reading: 9.1
Homework 7 due 6pm Friday
Homework Assignment 7: Pretty Shapes
|
Files, streams, and I/O exceptions
|
Files (ppt,pdf)
Exceptions (ppt,pdf)
Reader.java,
ReaderWriter.java
Practice Problems 11 (docx,pdf)
Solution to Practice Problems 11 (docx,pdf)
Practice Problems 12 (docx,pdf)
Solution to Practice Problems 12 (docx,pdf)
Practice Problems 13 (docx,pdf)
Solution to Practice Problems 13 (docx,pdf)
Cheat Sheet
|
Week 8:
|
Exceptions
Reading: 9.2, 9.3
|
Static methods and program decomposition
Reading: 6.2
|
Methods with parameters and returns
Homework 8 due 6pm Friday
Homework Assignment 8: Concordances
|
Static methods
parameters and returns with primitive data types
|
Program Decomposition (ppt,pdf)
Method Parameters and Returns (ppt,pdf)
ExceptionHandler.java,
Drawer.java,
DecomposeMe1.java,
Decomposed1.java,
DecomposeMe2.java,
Decomposed2.java
Practice Problems 14 (docx,pdf)
Solution to Practice Problems 14 (docx,pdf)
|
Week 9:
|
Array and object types for parameters and returns
Reading: pages 334-345
|
Linear search
Binary search
|
Slow sorting algorithms
Reading: 7.4
Homework 9 due 6pm Friday
Homework Assignment 9: Method Madness
|
Array methods and basic array algorithms
|
Objects as parameters (ppt,pdf)
Arrays and methods (ppt,pdf)
Searching (ppt,pdf)
Bubble Sort (ppt,pdf)
MysteryPrimitive.java,
MysteryObject1.java,
MysteryObject2.java,
MysteryArray1.java,
MysteryArray2.java,
LinearSearch.java,
BinarySearch.java
Practice Problems 15 (docx,pdf)
Solution to Practice Problems 15 (docx,pdf)
Practice Problems 16 (docx,pdf)
Solution to Practice Problems 16 (docx,pdf)
|
Week 10:
|
MergeSort
|
MergeSort, continued
|
Computational Complexity
Homework 10 due 6pm Friday
Homework Assignment 10: Image Processing
|
Efficient sorting techniques
Big-O
|
Sorting (ppt,pdf)
Computational Complexity (ppt,pdf)
Midterm Review (ppt,pdf)
Sample midterms are available
Practice Problems 17 (docx,pdf)
Solution to Practice Problems 17 (docx,pdf)
Sorter.java
|
Week 11:
|
Midterm 2
|
Defining classes:
instance variables and instance methods
Reading: 5.1
|
Defining classes:
Encapsulation
Accessors and Mutators
Reading: 5.2
Homework 11 due 6pm Friday
Homework Assignment 11: Sorting a Really Big File
|
Static vs. instance
encapsulation and access specifiers
|
Constructors, Instance Methods, and Fields (ppt,pdf)
StaticBankAccountUser.java
StaticBankAccount.java
StaticBankAccount_2.java
BankAccountUser.java
BankAccount.java
Practice Problems 18 (docx,pdf)
Solution to Practice Problems 18 (docx,pdf)
|
Week 12:
|
Defining classes:
"this"
constructors
Reading: 6.1
|
Defining classes:
overloading methods
testing
Reading: 6.3, 6.4
|
Packages
Practice programming with multiple classes
Reading: 6.5-6.7
Homework 12 due 6pm Friday
Homework Assignment 12: Class Madness
|
Designing and using classes
|
Encapsulation, OO Design (ppt,pdf)
FileCopierExceptComments.java
GuessingGame.java
BankAccountUser2.java
BankAccount2.java
Bug.java
BugClient.java
Practice Problems 19 (docx,pdf)
Solution to Practice Problems 19 (docx,pdf)
|
Week 13:
|
Object-oriented program design
|
The software life-cycle
Design for Homework 13 due 6pm Wednesday
|
No Homework This Week
HAPPY THANKSGIVING
|
OOP Design
|
Bug_1.java (sample design for Bug class)
|
Week 14:
|
Review: static vs. instance
Reading: 8.1, 8.2
|
Basics of Inheritance
Reading: 8.3
|
Inheritance and Polymorphism
Homework 13 due 6pm Friday
Homework Assignment 13: Connect N
|
super and extends
|
Inheritance (ppt,pdf)
Polymorphism (ppt,pdf)
PrintWriterClient1.java
PrintWriterClient2.java
ProcessedLinePrintWriter.java
ProcessedLinePrintWriterClient.java
RandomClient1.java
DiceRollRandom.java
DiceRollRandomClient.java
DiceRollRandomOverride.java
DiceRollRandomOverrideClient.java
|
Week 15:
|
interface and abstract
Reading: 8.4
Course Evaluation forms
|
Practice with inheritance and interfaces
|
Homework 14 due 6pm Friday
Homework Assignment 14
|
interfaces, inheritance, polymorphism, and review for final
|
Abstract classes and Interfaces (ppt,pdf)
OOP Review (ppt,pdf)
BadBank.java
Comparable.java
ComparableBankAccount.java
Bank.java
Practice Problems 20 (docx,pdf)
Solution to Practice Problems 20 (docx,pdf)
|
Week 16:
|
|
Final Exam
3:30-5:30pm, Wednesday, Dec. 14
Ritter Walk Auditorium
|
|
|