Programming Fundamentals 2
People
Course director
Description
The course teaches how to structure a problem using the concept of classes, and how to use fields and methods to model state and behavior. It introduces the fundamental concepts of types, subtyping and inclusion polymorphism, and parametric polymorphism. It covers dynamic memory allocation, references, and aliasing. It clarifies the difference between immutability, local mutability, and global mutability. It discusses repetition, both in terms of data (with recursive data structures as well as arrays) and in terms of computation (using recursion, higher-order functions, and loops).
Objectives
In this course you learn the foundations of object-oriented software development. You will learn the underlying principles and their realization in the Java programming language.
Teaching mode
In presence
Learning methods
Lectures, labs, homework assignments.
Examination information
Written in-class final exam.
Education
- Bachelor of Science in Informatics, Lecture and Laboratory, 1st year
Prerequisite
- Programming Fundamentals 1, Furia C. A., Blasi A., Heydarov R., Rezaalipour M., Zohdinasab T., SA 2021-2022