M/F 2:30-3:20 |
CS 1130: Transition to OO Programming Spring 2016 |
|||||||||||||||||||||||||||||||||||
Main
About: Overview Announcements Staff Consultants Calendar Materials: Texts DrJava Terminology Lectures: In-Class Web-Based VideoNote Assessment: Grading Assignments Labs Resources: CMS Piazza (link) Piazza (about) Java API Style Guide Academic Integrity |
In-Class Lecture SummariesThis page lists a summary of the activities of each week, in reverse chronological order. This is your go-to page for downloading in-class handouts and getting caught back up when you get behind. This page is updated dynamically all semester long, with new material added as we get there. If you want to see what future lectures in this class will be, you should look at the syllabus page. Week 529 February (Monday): Exceptions[Handout] [Presentation]
This is the last lecture of the course. It is optional, but important if you plan to take CS 2110, or go on further we Java. We talk about Exceptions, which is how Java reports errors — and possibly recovers from them. Reading: Chapter 10 Week 426 February (Friday): OO Design[Handout] [Presentation]
Today we move from just talking about GUI applications to applications in general. How we would design an application like JMan from scratch? Reading: Sections 12.1 and 12.2 Lab 4: Abstract Classes
[Instructions]
22 February (Monday): GUI Applications[Handout] [Presentation]
Today we talk about how to design GUI applications in Java. We have done most of this for you already in JMan, but you may find it useful. There is quite a bit here, so we may spill over into next lecture. Reading: Sections 17.1 to 17.4 Week 319 February (Friday): Casting and Overriding[Handout] [Presentation]
Today we learn about the difference between real and apparent types. This is an import distinction when using inheritance in a statically typed language. It is not too difficult once you get used to it, but it requires some practice. Reading: Section 4.2 Lab 3: Using Vectors
[Instructions]
15 February (Monday): Inheritance[Handout] [Presentation]
Today we address the first truly new concept of object-oriented programming: inheritance. Inheritance is a powerful tool that allows us to build off complex programs built by others. It will be a major part of Assignment 3. Reading: Section 1.6 Week 212 February (Friday): Strings, Wrappers, and Containers[Handout] [Presentation]
In this lecture, we start covering material necessary for the final assignment JMan. We introduce the concept of a container, which is an object that contains another object. Java has a lot of different containerst to chose from, and they all have their advantages and disadvantages. Reading: Sections 2.5 and 5.1 Lab 2: Classes and Testing
[Instructions]
8 February (Monday): Methods and Constructors[Handout] [Presentation]
In this lecture, we provide a model for evaluating methods; this concept will be extremely relevant for the second assignment. We also go into more detail about constructors and specifications Reading: Sections 2.1 to 2.4, 2.7 and 3.5 Week 15 February (Friday): Classes[Handout] [Presentation]
In this lecture, we go into more detail about Classes, which are the primary programmable unit in Java. We talk about the relationship with fields and methods, and relate this to what you might have learned about functions in another programming language. Reading: Sections 1.4 and 1.5 Lab 1: Using the Java API
[Instructions]
1 February (Monday): Types and Objects[Handout] [Presentation]
In this class, we introduce the concept of an Object, which is what gives Object-Oriented programming its name. We present the manilla folder analogy, which is the running analogy for this course. We also introduce the notion of a Class and show how they relate to Objects. Reading: Sections 1.1 to 1.4 Week 029 January (Friday): Introduction
[Handout]
[Presentation]
Lab 0: Evaluating Expressions
[Instructions]
|