CS407
Foundations of Programming: Java

Faculty
Vladimir Mazin
Msc. Data Science at Harbour.Space University
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
Overview
This is an introductory course where students will be offered to know the Java programming language’s basic functionality. We will start with the following essential parts: compilation and running of Java-programmes, a language syntax, a type system, the basics of object-oriented programming. Then we will discuss the most important parts of the standard library, including changes that came into play with Java 11. To get a better understanding of the topics, there will be test questions and practical exercises.
Learning highlights
- Get to know the basic functionality of Java programming language: be able to compile and run Java programmes
- Learn how to use programming building blocks with Java and other C-family languages
- Be familiar with the OOP principles
- Understand how the Java virtual machine works
- Know the most important parts of the Java standard library
Course outline
15 classes
Class 1
Introduction to Java: What is Java, Hello World, Getting to know IDE, Hello World using Maven
Class 2
Primitive types, Typecasting, Basic I/O, Conditionals
Class 3
Loops + Practice
Class 4
Arrays and strings: Memory management, Varargs, comparing arrays, printing arrays, strings
Class 5
Class declaration: Classes, fields, constructors, methods
Class 6
Basics of OOP, Packages and access modifiers, Types of classes
Class 7
Inheritance, Class object, Abstract classes and interfaces
Class 8
Introduction to Exceptions, Exception handling, Try-catch, Logging
Class 9
Under the hood of Java classes JVM, Java bytecode, Garbage collection, Reflection API
Class 10
Mid-course test
Class 11
Access to the file system, Byte stream: java.io.File, java.nio.Path, InputStream and OutputStream, Wrapper classes
Class 12
Character Stream, Advanced features: Reader, Writer, Wrapper classes, Formatted I/O, Running processes, Serialization
Class 13
Generics, Collections
Class 14
Functional interfaces, Stream API
Class 15
Final test and review
Methodology
The course sessions consist of lectures given by the professor and practical seminars where students complete a programming assignment under the professor’s supervision. Homework is assigned after each session to strengthen the understanding of the material. The lectures will start with homework analysis, where we discuss the solutions. There will be one midterm test at the end of the second week and a final exam at the end of the course. After the first week for the weekend, there will be a programming assignment and it will also be after the second week for the weekend.
Grading
In 2012 with scientific research in Algebra, Vladimir won 1st place at the National contest in Russia, the Intel-Avangard, and became a finalist of the Intel ISEF.
After school, he enrolled for Bachelors at ITMO University for the programme of Applied Math and Programming. During his Bachelor's, he participated in several educational projects: in 2013 he was a coordinator of the national science fair for school students - BalticSEF; in 2014 he was a teacher in the LCME summer school, teaching two courses on maths. In the last years of his Bachelors, Vladimir entered the centre of additional higher education, Computer Science Center, for the programme of Software Engineering. In the end of summer of 2015, he completed a 3-month internship as a Software Developer.
See full profileApply for this course
Foundations of Programming: Java
by Vladimir Mazin
Total hours
45 Hours
Dates
Feb 22 - Mar 12, 2021
Fee for single course
€1500
Fee for degree students
€750
How to secure your spot
Complete the form below to kickstart your application
Schedule your Harbour.Space interview
If successful, get ready to join us on campus
FAQ
Will I receive a certificate after completion?
Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.
Do I need a visa?
This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.
Can I get a discount?
Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.

