Skip to content

Repository files navigation

Software Engineering: Java Course Projects

This repository contains the projects completed as part of a Software Engineering course focused on the foundations of software engineering principles and large-scale software system development. The course primarily used Java and covered key topics such as abstraction, modularity, architecture, specification, testing, and debugging.

Projects Overview

Project 1: Java ADTs and the Adapter Pattern

  • Description: Implemented Abstract Data Types (ADTs) using Java and explored the Adapter Pattern to adapt interfaces for compatibility.
  • Key Concepts: ADTs, Adapter Pattern, Java Collections

Project 2: Design Patterns in Java

  • Description: Applied various design patterns in Java, such as Singleton, Factory, and Observer to solve common software design problems.
  • Key Concepts: Design Patterns, Object-Oriented Design, Java

Project 3: Automated Testing Framework using Reflection

  • Description: Developed an automated testing framework using Java reflection, allowing dynamic discovery of test methods and class structures.
  • Key Concepts: Automated Testing, Reflection, JUnit

Project 4: Java on Rails - Web Server

  • Description: Built a simple web server in Java that supports basic web requests and responses, simulating the functionality of frameworks like Ruby on Rails.
  • Key Concepts: Web Servers, MVC Arhitecture, HTTP

Project 5: Concurrent MBTA Simulator (Threading)

  • Description: Implemented a concurrent MBTA simulator that models the operation of public transportation using Java threads to simulate parallel processing.
  • Key Concepts: Concurrency, Threads, Synchronization, Java

About

This repository contains projects from a Software Engineering course, emphasizing core concepts like abstraction, modularity, design patterns, automated testing, concurrency, and web server development. The projects are implemented in Java and explore essential software engineering principles for building scalable and maintainable systems.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages