CS208

Faculty
Alexander Sergeev
Senior Software Developer at Flow Traders (ex Revolut, Yandex)
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
The Foundations of Programming on Java is a comprehensive and hands-on educational program designed to equip learners with a solid understanding of the fundamental principles and practices of Java programming. This course caters to both beginners and intermediate learners, providing them with a structured curriculum that covers the essential concepts and techniques necessary to develop robust Java applications.
The curriculum emphasizes hands-on experience and includes practical coding exercises and projects, enabling students to apply theoretical knowledge in real-world scenarios. Learners will familiarize themselves with Java's rich standard libraries and APIs, leveraging them to solve complex problems efficiently.
In addition to the core Java concepts, the course covers topics like exception handling, file I/O, Stream API, and multi-threading, enabling learners to develop robust, error-resistant, and multi-functional applications. Participants will also explore the principles of inheritance, encapsulation, and polymorphism, which are essential for building modular and scalable software.
15 classes
What is Java, Hello World, Primitive types, Arrays and strings, Basic I/O, Conditionals, Loops, Getting to know IDE.
Classes, fields, constructors, methods, packages, access modifiers, abstract classes and interfaces.
Generics, Collections
Introduction to the Project
Dependency Injection and Basic Object Oriented Design Patterns
Introduction to Exceptions, Exception Handling, Try-catch, Logging, Maven.
Mid-course Test and Intermediate Assessment of the Project
Functional Interfaces and Stream API
java.io.File, java.nio.Path, InputStream and OutputStream, Wrapper classes.
Java Memory Model and Multithreading
JVM, Java bytecode, Garbage collection
Unit Testing, Debugging, and Test Driven Development
Building CRUD API. Pair Programming Session (Mini Project)
Project Validation
Final Test and Project Review
Books
Understanding of programming concepts: while not mandatory, a basic understanding of programming concepts like variables, loops, and conditional statements can be helpful.
Logical thinking: the ability to think logically and break down problems into smaller, manageable steps is crucial for successful programming.
Enthusiasm to learn: the most important skill is the willingness and enthusiasm to learn and explore the world of Java programming.
Curriculum design: the course begins with a well-structured curriculum that outlines the learning objectives, topics to be covered, and the logical progression of concepts. The curriculum is designed to build on foundational knowledge and gradually introduce more complex Java programming concepts.
Interactive lectures: the instructor delivers engaging and interactive lectures that explain the fundamental principles of Java programming.
Hands-on coding: practical programming exercises and coding projects are integrated throughout the course. Learners are encouraged to write and execute Java code to reinforce theoretical knowledge and gain hands-on experience in Java programming.
Collaborative learning: group activities and collaborative coding projects foster teamwork and communication skills. A project needs to be built by a small group of students.
Assessments: mid -and final- course assessments are conducted to evaluate learners' understanding of the material.
Alexander Sergeev is an accomplished Senior Software Developer based in the Netherlands, known for his exemplary career at esteemed tech companies like Flow Traders, Revolut, Yandex, and Netcracker and his strong educational background.
Alexander's journey in the tech industry began with a solid foundation in education. He attended the prestigious Moscow Institute of Physics and Technology (MIPT) in Russia, where he pursued a Master's degree in Computer Engineering. At MIPT, Alexander immersed himself in a rigorous academic curriculum, delving deep into computer science, software engineering principles, and cutting-edge technologies.
See full profileApply for this course
by Alexander Sergeev
Total hours
45 Hours
Dates
Mar 11 - Mar 29, 2024
Fee for single course
€1500
Fee for degree students
€750
Filter by campus:
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.