The main objective of this course is to familiarise students with the basics of professional programming using the Java language.
- Fundamentals of Java programming language
- Basic operations
- Working with arrays
- Working with collections (java.util), HastMap.
- Multi-threaded programming and synchronization
- Network programming
- Modern software development tools
- IntelliJ IDE, Eclipse
- Version control system git, github.
All completed tasks are published on github; a link to the finished tasks is sent to the teacher.
- Setting up github
- Create a user on github
- "fork" https://github.com/artem-aliev/java-template/ repository to its own space
- Clone it on the production machine
- Make code changes to make "commit" and "push"
- Send the teacher a link to the repository created
- Setting up IntelliJ/Eclipse
- export the project into the IDE
- Run unit test IntSortTest.java
- Getting to know Java. Sorting
- Replace in IntSort.java file the standard call with your own algorithm. Any algorithm with average computational complexity n*log(n) is suitable.
- object-oriented programming.
- Matrix.java Matrix interface with one operation: multiplication
- Task: create two classes DenseMatrix and SparseMatrix: dense and dilation matrix with corresponding storage methods
- to implement the "mul" method of multiplication in a way that allows multiplying different types of matrices by each other
- Write unit tests loi for all multiplication options. Example: MatrixTest.java
- Multithreaded programming
- Add a method to DenseMatrix and SparseMatrix that multiplies matrices in multiple threads
- Write tests to see if the speed increases as the number of threads increases
- Network programming
- Write a simple http server able to give html files from a folder
- Write a simple http client that can send a "GET" request and print the response on the screen
- Check client/server work with each other
- Check that the server works with a standard browser
- Check that client receives information from any web server on the internet
Translated with www.DeepL.com/Translator (free version)