York University

CSE 1030: Introduction to Computer Science II

Winter 2012-13

Department of Computer Science and Engineering

Home

Weekly Calendar

Course Syllabus

Course Policies

Intended Learning Outcomes

Test and Lab Solutions
(see web site for your section)

Useful Links

Section M Web Site

Section Z Web Site



York University

Exam Information

The exam covers material mostly from Inheritance on; there may be one question that asks you about the fundamental concepts from the first half of the course. The style of questions will be similar to the midterm. No question asks you to write a Java program.

A sample of exam type questions can be found here

Solutions can be found here

Lecture Slides

Date Topic Slides Comments Source Code
Jan 7       Introduction PPTX
Jan 9 Utility Classes (Part 1)       PPTX
Jan 11 Utility Classes (Part 2) PPTX UPDATED: Jan 11 11:47PM
Jan 14 Utility Classes (Part 3) PPTX
Jan 16 Classes (Part 1) PPTX
Jan 18 Classes (Part 2) PPTX PhoneNumber.java
Jan 21 Classes (Part 3): Mutable Classes PPTX UPDATED: Jan 21 12:38PM to fix errors and
better explain the equals method
Vector2D.java (2D vector class)td>
Jan 23 Classes (Part 4): hashCode and compareTo PPTX
Jan 25 Mixing Static and Non-Static Features (Part 1) PPTX
Jan 28 Mixing Static and Non-Static Features (Part 2) PPTX
Jan 30 Aggregation and Composition (Part 1) PPTX Point.java (3D point class)
Triangle.java (triangle using aggregation)
JoglTriangle.java (OpenGL program; you will need to install JOGL)
Feb 01 Aggregation and Composition (Part 2) PPTX TriangleC.java (triangle using composition)
JoglTriangleComposition.java (OpenGL program; you will need to install JOGL)
Feb 04 Composition PPTX
Feb 06 Aggregation and Composition: Collections as Members PPTX
Feb 08 UNIVERSITY CLOSED
Feb 11 Inheritance (Part 1) PPTX
Feb 13 Inheritance (Part 2) PPTX
Feb 15 Inheritance (Part 3) PPTX
Feb 25 Inheritance (Part 4) PPTX
Feb 27 Inheritance (Part 5) PPTX
Mar 1 Midterm Test and solution
Mar 04 Graphical User Interfaces (Part 1) PPTX SimpleRoll.java
SimpleModel.java
SimpleView.java
SimpleController.java
SimpleApp.java
Mar 6 Graphical User Interfaces (Part 2) PPTX UPDATED: Mar 10 4:14PM CalcModel.java
CalcView.java
CalcController.java
CalcMVC.java
Mar 08 Graphical User Interfaces (Part 3) PPTX CalcModel.java
CalcView2.java
CalcController2.java
CalcMVC2.java
Mar 10 Recursion (Part 1) PPTX PrintIt.java
Rabbits.java
Mar 13 Recursion (Part 2) PPTX
Mar 15 Recursion (Part 2 cont) PPTX
Mar 18 Recursion (Part 3) PPTX JumpIt.java
TowersOfHanoi.java
Mar 20 Recursive Objects—Linked List PPTX LinkedList.java
Mar 22 Recursive Objects—Linked List (Part 2) PPTX
Mar 25 Recursive Objects—Linked List (Part 3) PPTX LinkedList.java with iterator
Mar 27 Recursive Objects—Trees (Part 4) PPTX
Apr 1 Data Structures—Stacks (Part 1) PPTX
Apr 3 Data Structures—Queues (Part 2) PPTX
Apr 5 Application of Recursion and Data Structures—Ray Tracing PPTX
Apr 8 Summary for Weeks 6-12 PPTX

 

Labs

Labs are made available (and then remain available) immediately before the scheduled lab time. It is possible that some lab materials will occassionaly be made available prior to the scheduled lab time to give students time to prepare for the lab activity.

Note: The Wednesday and Thursday labs for the same week are slightly different; you must complete and submit the labs for the Lab Section that you are registered in.

Date Topic Lab Activity Due Dates Solutions
Wed Jan 9       Back to programming web page end of lab Lab01A.java
Lab01B.java
Thu Jan 10 Back to programming       web page end of lab Lab01C.java
Lab01D.java
Wed Jan 16       Utility classes, Javadoc, and JUnit web page end of lab DistanceUtility.java
Temperature.java
Yahtzee.java
Thu Jan 17 Utility classes, Javadoc, and JUnit       web page end of lab DistanceUtility.java
FuelEfficiency.java
Yahtzee.java
Wed Jan 23       Immutable classes web page end of lab Complex.java
Thu Jan 24 Immutable classes       web page end of lab Complex.java
Wed Jan 30       Mixing Static and Non-static Features web page end of lab PlayingCard.java
Thu Jan 31 Mixing Static and Non-static Features       web page end of lab PlayingCardM.java
Wed Feb 06       Aggregation and Composition (and Recursion) web page end of lab Turtle.java
Thu Feb 07 Aggregation and Composition (and Recursion) web page end of lab Turtle2.java
Wed Feb 13       Practice lab test web page end of lab SimpleTime.java
AlarmClock.java
Thu Feb 14 Practice lab test web page end of lab Range.java
Monster.java
Wed Mar 6       Inheritance web page end of day Circle.java
Rectangle.java
Thu Mar 7 Inheritance web page end of lab Square.java
Ellipse.java
Wed Mar 13       Graphical User Interfaces web page end of day ViewerModel.java
ViewerController.java
Thu Mar 14 Graphical User Interfaces web page end of lab ViewerModel.java
ViewerController.java
Wed Mar 20       Recursion web page before next lab (Wed Mar 27) Lab9.java Updated Apr 2
Thu Mar 21 Recursion web page before next lab (Thu Mar 28) Lab9.java Updated Apr 2
Wed Mar 27       Recursive Data Structure—Binary Search Tree web page 11:59PM Mon Apr 1 BinarySearchTree.java
Thu Mar 28       Recursive Data Structure—Binary Search Tree web page 11:59PM Tue Apr 2 BinarySearchTree.java

 

Problem Sets

Here are some optional problem sets related to the course materials. Time permitting, I hope to have more frequent updates to this section.

Date Topic Problems Solutions
Week 02       Utility classes (static methods and attributes) web page Mass.java (coming soon)
ArrayMath.java
StringUtils.java
Week 03       Using non-static features in classes web page Dictionary.java
Location.java
Week 04       Mixing static and non-static features web page Gold.java
GameScore.java
Book.java
Hamster.java
Week 05       Composition web page TriangleC.java
GraduateStudent.java
Transfer.java
Midterm       old practice midterm with solutions ignore questions where you must write a lot of code
Week 09       Recursion web page Updated Mar 18 11:22PM
Week 10       Labtest 2 Practice Questions web page SavingsAccount.java (Inheritance Q1)
ReverseWordPuzzle.java (Inheritance Q2)
ScrambleWordPuzzle.java
LinkedList.java (Recursion Q1)
Practice2.java (Recursion Q2)