Programming course I attended as sophomore on Faculty of Electrical Engineering and Computing in Zagreb.
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. Java Generics. 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).
- Create programs using Java programming language
- Use Java collection framework for data organization and work with files
- Develop graphical user interface using Swing
- Apply multithreading
- Combine Java application and relational database and use O/R mappers
- Construct web-servers and use Servlet and JSP technologies for construction of web applications develop distributed applications which communicate by computer network