Introduction to Programming
In the pre-master programme you can opt for FEB21011S Introduction to Programming or FEB22012 Programming. Introduction to Programming covers the fundamental concepts of imperative programming languages:
- variables
- elementary data-types
- methods, arrays, for-loops
- while-loops and if-statements
The course also provides a brief and very basic introduction to object-oriented programming. Programming starts with a two week primer on MATLAB, where students apply the imperative programming skills from introduction to programming in a new language.
Object-oriented programming in Java
The remainder of the course focuses on object-oriented programming in Java and covers interfaces, inheritance, class hierarchies, polymorphism, exceptions and the collections framework. If you have prior experience with a strongly and statically typed language, such as C, C++, C#, Pascal or Java and have a very basic grasp of how to write a simple class, you should be able to follow the Programming course without any problems.
If you have prior experience with a weakly and/or dynamically typed language, such as Python, Javascript, MATLAB, R, Perl, Ruby, PHP and are familiar with loops, if-statements and functions/methods, you are mostly good to go for the Programming course, although it is strongly encouraged to study static typing (e.g. all variables are declared with their type) and variable scope (e.g. a variable is not automatically available everywhere, depending on where you define it).
This makes the transition to Java a lot more smooth. If you don't have any prior programming experience, it is encouraged to follow the suggested parts of the recommended MOOC JAVA for Complete Beginners on Youtube before following the Programming course.