Advanced Programming

Using Java

February 02, 2020
Salahaddin University-Erbil
Software Engineering Dept.
BSc
2019-Current
5 mins read

General Information

Course Description

This course provides an in-depth exploration of advanced programming concepts and techniques using Java as the primary language. Students will learn sophisticated programming features and tools essential for professional software engineering, including functional programming, design patterns, and clean code principles.

The curriculum covers advanced Java features such as collections, multithreading, networking, and database connectivity, as well as modern software development practices including testing, build automation, and graphical user interface development. Students will gain practical experience in applying design patterns and clean code principles to create maintainable, scalable software solutions.

Through hands-on projects and real-world applications, students will develop the advanced programming skills necessary for professional software development careers.

Prerequisites

Course Objectives

Upon completion of this course, students will be able to:

Course Outline

Week 1: Advanced Object-Oriented Programming Review

Week 2: Java Functional Programming

Week 3: Java Collections Framework

Week 4: Input/Output Streams and File Handling

Week 5: Multithreading and Concurrency

Week 6: Database Connectivity and Persistence

Week 7: Midterm Exam and Review

Week 8: Java Networking

Week 9: Java Annotations and Reflection

Week 10: Build Automation and Dependency Management

Week 11: Testing and Quality Assurance

Week 12: Design Patterns and Clean Code

Week 13: Graphical User Interface Development

Week 14: Final Exam Preparation and Review

Week 15: Final Project and Course Wrap-up

Textbooks

Assessment