Covers the basics of programming, including the development cycle of a program, strong typing, data storage in Java variables, and primitive data types.
Covers the fundamental concepts of loops and iterations in programming, including conditional loops, for loops, while loops, break and continue statements.
Introduces the fundamentals of software engineering, covering instruction processing, algorithms, programming languages, abstractions, testing, security, and open source.
Introduces Iris, a logical framework for reasoning about safety and correctness of concurrent higher-order imperative programs, emphasizing its unique characteristics and applications.