An open API service indexing awesome lists of open source software.

https://github.com/catalina2820/java-programming-i

Progress in the 'Java Programming I' MOOC course from the University of Helsinki. This course teaches the fundamentals of programming and object-oriented programming in Java, and contains practical exercises and projects.
https://github.com/catalina2820/java-programming-i

arraylist control-flow functions java methods oop

Last synced: 2 months ago
JSON representation

Progress in the 'Java Programming I' MOOC course from the University of Helsinki. This course teaches the fundamentals of programming and object-oriented programming in Java, and contains practical exercises and projects.

Awesome Lists containing this project

README

        

# Java-Programming-I-MOOC

Progress in the 'Java Programming I' course from the University of Helsinki MOOC. This course teaches the fundamentals of programming and object-oriented programming in Java, and includes practical exercises and projects.

This repository contains my progress in the 'Java Programming 1' course from the University of Helsinki MOOC. The course covers the basics of programming and object-oriented programming using Java, and includes practical exercises and projects.

## Description

The course is part of the massive open online course (MOOC) series from the University of Helsinki on programming. The course offers comprehensive materials and numerous practical exercises. It is designed to teach the basics of programming and algorithms using the Java programming language.

### Repository Contents

- **`exercises/`**: Contains solutions to the course's practical exercises, addressing key concepts like Java syntax and data manipulation.
- **`projects/`**: Projects that integrate various course topics to demonstrate the practical application of what has been learned.
- **`README.md`**: This file provides information about the content and how to run the code.

### Objective

The goal of this repository is to document my progress and learning in Java as I complete the course. It is intended to serve as a reference both for myself and anyone else interested in the course content.

## Course Parts

### Part 1

Welcome to learning programming! The first part of the course focuses on diving into programming and getting familiar with all the required tools.

In this part, the following topics are covered:
1. Getting started with programming
2. Printing
3. Reading input
4. Variables
5. Calculating with numbers
6. Conditional statements and conditional operations
7. Programming in our society

### Part 2

The second part of the material focuses on repetition in programs and how to divide functionality into distinct units.

In this part, the following topics are covered:
1. Recurring problems and patterns to solve them
2. Repeating functionality
3. More loops
4. Methods and dividing the program into smaller parts
5. End questionnaire

### Part 3

The main themes in the third part of the course are adding information to list and array data structures, and handling information in string form.

In this part, the following topics are covered:
1. Discovering errors
2. Lists
3. Arrays
4. Using strings
5. Summary

### Part 4

The main theme of the fourth part is object-oriented programming. You will learn to read data from files and to represent and handle information with the help of objects.

In this part, the following topics are covered:
1. Introduction to object-oriented programming
2. Objects in a list
3. Files and reading data
4. Summary

### Part 5

The fifth part of the course material continues with object-oriented programming, which was introduced in the fourth part.

In this part, the following topics are covered:
1. Learning object-oriented programming
2. Removing repetitive code (overloading methods and constructors)
3. Primitive and reference variables
4. Objects and references
5. Conclusion

### Part 6

The sixth part of the course material handles objects consisting of objects, and we'll take a look at separating the text user interface and the program logic.

In this part, the following topics are covered:
1. Objects on a list and a list as part of an object
2. Separating the user interface from program logic
3. Introduction to testing
4. Complex programs

### Part 7

In the seventh part of the course, we'll focus on general programming paradigms and algorithms. The Introduction to Programming (TKT-10002) course ends after the seventh week, and the Advanced Programming (TKT-10003) course begins with the eighth part.

In this part, the following topics are covered:
1. Programming paradigms
2. Algorithms
3. Larger programming exercises
4. Conclusion