Resources
- Piazza is a Q&A platform designed to get you great answers from classmates and instructors fast.
- Submitting your assignments and laboratories
- Concepts map
Lecture notes
- January 6-10, 2020
-
Course requirements,
Computer architecture
- Data type: primitive and reference types
-
Laboratory 0
You are expected to complete this laboratory by yourself. The laboratories with physical presence on campus are starting next week (2020-01-13).
Java memory-aid,
Koffman & Wolfgang 541-555
Java Clinic - Youbube Live (60 minutes)
Installing the JDK 1.8 on Windows 10 (video)
Writing a Hello World program using DrJava (video)
Getting ready for Java by Dr. Jourdan (video)
Python to Java by Dr. Dujmovic (videos) - Advanced an optional material on computer
architecture
Some students expressed interest for the architecture of the "Toy Computer 1101" (TC1101). You can find here, a Java program that simulates the execution of assembly/machine programs for that architecture: Sim.zip
-
Course requirements,
- January 13-17, 2020
- Data types: operator and method calls
- Object-oriented programming: instance variables and methods Counter.java and Test.java
- Laboratory 1 For each laboratory, we will give you the tests that will be used to grade your work. Here is a demo to help you understand the concepts. As an exercise, complete the implementation of the method swap so that no test fails.
- January 20-24, 2020
-
Object oriented programming: visibility, class variables and class methods
Point.java
PairVar.java and PairArray.java
Ticket.java
-
Interface: abstract data types (ADT) and their implementations
Comparable.java
SortAlgorithms.java
Time.java
TestTime.java
Pair.java
PairVar.java
PairArray.java
TestPair.java AlertListener.java
PhoneApp.java
WebApp.java
AlertServer.java
Run.java Koffman & Wolfgang 2-7 - Laboratory 2
-
Object oriented programming: visibility, class variables and class methods
Point.java
- January 27-31, 2020
- February 3-7, 2020
- February 10-14, 2020
-
Stack: applications
Koffman & Wolfgang 159-176 -
Stack: linked elements
Stack.java
LinkedStack.java
Koffman & Wolfgang 149-188 - Laboratory 5
-
Stack: applications
- February 24-28 2020
-
Error handling
Koffman & Wolfgang 29-36, 559, 608-619 - Review for the midterm examination
- Laboratoire 6
- Reminder: the midterm will be held on March 1, 2020: more information can be found here.
-
Error handling
- March 4-6, 2020
-
Queue: concept
Queue.java
LinkedQueue.java Koffman & Wolfgang 177–189 -
Queue: applications
Search.java, LinkedQueue.java, Queue.java
A very interesting JavaScript application:
Another insteresting JavaScript application:
- https://clementmihailescu.github.io/Pathfinding-Visualizer/
- https://www.youtube.com/watch?v=n4t_-NjY_Sg
See also: Maze Solving - Computerphile
- Laboratoire 7
-
Queue: concept
Queue.java
- March 9-13, 2020
- March 16-20, 2020
-
List: implementation
Source code: src
Koffman & Wolfgang 84-89, 103 - Laboratoire 9 (video)
-
List: implementation
- March 23-27, 2020
-
List: iterative processing
Source code: src
Koffman & Wolfgang 84-89, 103 -
List: recursive processing
Source code: src
- Laboratoire 10 (video)
-
List: iterative processing
- March 30 - April 3, 2020
- Binary search trees: concept Koffman & Wolfgang 257-268 and 282-296
- Binary search trees: methods BinarySearchTree.java, Test.java, TestBST.java Koffman & Wolfgang 263, 265-268, 288-293
- Laboratoire 11 (video)
- Optional
-
Graphical user interface
Square.java
EventListenersApp.java
Puzzler.jar (download and double-click)
puzzler-src.zip (source code) - Model-View-Conroller counter.zip, square.zip YouTube video (26 minutes)
-
Graphical user interface
Square.java