Introduction to Java Programming Language course held at the Faculty of Electrical Engineering and Computing.
Assignment | Description |
---|---|
hw01 | Java programming language. Java Platform. Maven. |
hw02 | Array and List backed Collection and Stack implementations. Complex number parser. Adapter Pattern. |
hw03 | Language processor. SmartScriptLexer and SmartScriptParser. TDD. |
hw04 | Lindermayer system fractals. Koch curve. |
hw05 | Parameterized Hashtable implementation. Strategy Pattern. |
hw06 | Observer Pattern. Functional interfaces. Lambdas. |
hw07 | AES encryption and decryption. Shell Implementation. |
hw08 | Further Shell improvements. |
hw09 | Complex polynomials. Newton-Raphson iteration fractals. Ray caster. Parallelization using ForkJoin. |
hw10 | Custom LayoutManager implementation. Scientific calculator implementation. Bar Chart implementation. |
hw11 | Swing. Custom Notepad++ implementation. i18n. Singleton and Bridge patterns. |
hw12 | Multithread HTTP Server. Cookies and sessions support. Support for parsing SmartScripts. |
hw13 | Servlets and JSP. Apache TomCat. |
hw14 | JDBC. Derby database. Voting app. |
hw15 | Hibernate. Persistence. Blog implementation. |
hw16-1 | TF-IDF document similarity identifier. |
hw16-2 | Implementation of a Paint-like app with full suport for exporting, rendering etc. |
hw17 | Front End. AJAX. JavaScript. DOM. |
hw18 | Introduction to Android development. |
- Java as a programming language. Java as a processor independent platform.
- Classes and objects - inheritance, polymorphism, encapsulation, hiding.
- Java collection framework - sets, lists, trees, stacks, queues, maps.
- Multithreading and multithreaded applications. Synchronization problems and synchronization techniques (mutexes, semaphores, barriers).
- Design and development of applications with graphical user interface: AWT and Swing; usage of existing and development of custom components.
- MVC paradigm. Test Driven Development (TDD).
- Working with files and file systems. Data streams.
- Distributed applications (java.net packet). Usage of UDP and TCP protocol.
- HTTP protocol. Design of Web applications.
- Java Servlets and Java Server Pages (JSP). Web forms. Apache Tomcat.
- Security in Web applications. Advanced technologies: ANT, Hibernate, MySQL. Working with relational databases.
- Mapping and storage of objects into relational databases (O/R mapping).
- Basic Android development.
Introduction to Java Programming Language
- doc.dr.sc Marko Čupić
- Java >= 9
- Maven 3.5.3