Advanced Programming with Java

Undergraduate Course, UAIC, Faculty of Computer Science, 2024

Course Overview

This course covers advanced programming concepts using Java, focusing on object-oriented design patterns, data structures, algorithms, and modern software engineering practices.

Learning Objectives

  • Master object-oriented programming principles
  • Implement common design patterns
  • Understand advanced data structures and algorithms
  • Apply software engineering best practices
  • Develop robust, scalable applications

Course Topics

  1. Object-Oriented Design Patterns
    • Singleton, Factory, Observer patterns
    • Model-View-Controller (MVC) architecture
  2. Advanced Data Structures
    • Trees, graphs, hash tables
    • Performance analysis and optimization
  3. Software Engineering Practices
    • Unit testing with JUnit
    • Version control with Git
    • Code documentation and style guidelines

Resources

Assessment

  • Programming Assignments: 40%
  • Midterm Exam: 25%
  • Final Project: 25%
  • Class Participation: 10%

Office Hours

When: Tuesdays & Thursdays, 2:00-4:00 PM
Where: Room 123, Faculty of Computer Science
Contact: bprelipcean_at_info.uaic.ro