Topics
Here you will find the topics covered and the associated material to help you learn it.
Some topics are larger than others, and so might span over multiple lessons.
So, it’s important to keep updated with what’s happening in class.
Weeks 1-6 (Nasser Giacaman)
-
Course Introduction
An overview and introduction to the course, with important information to be aware of.
-
Communicating with Machines
Computational thinking, programming, coding, assemblers, compilers, interpreters, JVM, and the command line.
-
IDE, Build Tool, Version Control
What is an IDE (VS Code)? What is a build tool (Maven)? What is version control (Git and GitHub)?
-
Introduction to Java
Basic programming concepts you should already be familiar with, but here in the context of Java.
-
More Java Fundamentals
switch statement, break and continue, String methods, return statements, ArrayLists, foreach loops, enums.
-
-
Classes Core Concepts
Mastering the core concepts of classes, the fundamental building blocks of OOP.
-
All About Memory
Memory-related concepts, variables, primitive versus reference types, stack versus heap, equality versus identity.
-
REWIND #1: Classes
Let's take a step back, and combine everything we've learnt together into a bigger exercise!
-
-
Inheritance and Polymorphism
Appreciating the full power of OOP with inheritance, polymorphism, abstract classes.
-
REWIND #2: Inheritance and Polymorphism
Let's take a step back, and combine everything we've learnt together into a bigger exercise!
Weeks 7-12 (Valerio Terragni)
-
Interfaces
Another way to achieve abstraction in Java, is with interfaces! The blueprints of your programs!
-
-
-
-