CS 18000 Modules

WEEK 1: Introduction to Computer Science and Programming
Computer Basics, Problem Solving and Object-Oriented Programming
Computer Basics, Problem Solving and Object-Oriented Programming
Video 1, Algorithms, Abstraction, and Number Systems
Video 2, Storing Integers
Video 3, Wheel Class
Video 1, Making a Class a Program
Video 2, Software Development
Video 3, Java Basics

WEEK 2: Primitive Types and Strings
Primitive Types and Strings
Primitive Types and Strings
Video 1, Data Types
Video 2, Primitive Types
Video 1, Type Promotion and Characters
Video 2, Reference Types and Strings

WEEK 3: Selection
Selection
Selection
Video 1, The if statement
Video 2, Examples using if statements
Video 3, More complex if statements
Video 1, Examples using complex if statements
Video 2, Special cases with if statements
Video 3, Switch statement

WEEK 4: Repetition
Repetition
Repetition
Video 1, Repetition Concept
Video 2, Simple Repetition Examples
Video 3, Palindrome Checker with while Loop
Video 4, Continue, Break, Increment, Decrement
Video 1, for Loop
Video 2, do-while Loop and Palindrome Checker with for Loop
Video 3, Common Mistakes
Video 4, Nested Loops and convertToBinary Example

WEEK 5: Methods and Classes
Methods and Classes
Methods and Classes
Video 1, Static and Non-Static Fields
Video 2, Methods
Video 3, Scope of Variables
Video 1, Designing a Class
Video 2, Extent, Passing References, Overloading
Video 3, this() in Constructors
Video 4, Encapsulation

WEEK 6: Arrays
Arrays
Arrays
Video 1, Introduction to Arrays
Video 2, Using Arrays
Video 3, WordList Array Example
Video 4, TreeTracker Array Example
Video 1, Two-dimensional arrays, for-each loops, varargs
Video 2, ArrayLists
Video 3, Playing Cards Array Example

WEEK 7: File I/O and Exceptions
File I/O and Exceptions
File I/O and Exceptions
Video 1, Basics of File I/O
Video 2, Low-Level, High-Level, and Object I/O
Video 3, Text I/O
Video 1, Introduction to Exceptions
Video 2, The Exception Class
Video 3, Advanced Exception Handling

WEEK 8: Interfaces and Inheritance
Interfaces and Inheritance
Interfaces and Inheritance
Video 1, Interface Concepts
Video 2, Implementing Interfaces
Video 3, Building a Game
Video 4, Fibonacci Generator
Video 1, Inheritance
Video 2, Constructor Chaining
Video 3, Subclass Access and Overriding

WEEK 9: Concurrent Programming and Synchronization
Concurrent Programming, Synchronization
Concurrent Programming, Synchronization
Software Engineering Working As A Team
Software Engineering Working As A Team
Video 1, History of Concurrency, Java Threads
Video 2, Task and Domain Decomposition
Video 1, Synchronization Using join()
Video 2, Race Conditions
Software Engineering Working As A Team

WEEK 10: Network I/O
Network I/O
Network I/O
Video 1, Internet Communication
Video 2, Clients and Servers

WEEK 10: Simple Graphical User Interfaces
Simple Graphical User Interfaces
Simple Graphical User Interfaces
Video 1, JOptionPane Class
Video 2, JOptionPane Methods
Video 3, CodonExtractor Example
Video 4, JFileChooser

WEEK 11: Constructing Graphical User Interfaces
Constructing Graphical User Interfaces
Constructing Graphical User Interfaces
Video 1, GUI Concept
Video 2, JFrames and JPanels
Video 3, Event Handling
Video 4, ActionListener Interface
Video 1, Source to Listener Relationships
Video 2, Layout Managers
Video 3, BorderFactory
Video 4, Canvas and Graphics Classes

WEEK 12: Polymorphism
Polymorphism
Polymorphism
Video 1, Polymorphism and Abstract Classes
Video 2, Dynamic Binding and Abstract Methods

WEEK 12-13: Dynamic Data Structures
Dynamic Data Structures
Dynamic Data Structures
Video 1, Implementing an ArrayList
Video 2, Linked Lists
Video 1, Implementing a Linked List
Video 2, Stacks and Queues
Video 1, Implementing a Stack
Video 2, Implementing a Queue
Video 3, Generic Classes

WEEK 14: Recursion and Recursive Data Structures
Recursion
Recursion
Video 1, What is Recursion?
Video 2, Recursion Examples
Video 3, Tower of Hanoi
Video 4, Recursion and Linked Lists
Video 1, Binary Search Trees
Video 2, Backtracking and Recursion
Video 3, Solving a Maze Recursively