This repository contains assignments and coursework for the ASD (Advanced Software Design) course, part of the graduate Computer Science program at Maharishi International University (MIU).
The ASD course explores modern methods and practices for designing high-quality software systems. Students will learn to apply software design patterns, frameworks, and architectures to create scalable and maintainable systems. The course emphasizes multi-level abstractions and advanced design principles.
The course focuses on the following topics:
- Software Design Patterns (Creational, Structural, Behavioral)
- Frameworks and Architectures (MVC, Microservices, Component-Based Design)
- Advanced Design Principles (SOLID Principles, Dependency Injection, Scalability, Maintainability)
- Multi-Level Abstractions (Layered Architectures, Domain-Driven Design, Service-Oriented Design)
- Project-Based Learning (Case Studies, Practical Applications through Projects)
- Completion of CS 401 (Modern Programming Practices) or consent of the department faculty.
- Proficiency in Object-Oriented Programming and Software Engineering principles.
- Clone the repository:
git clone https://github.com/anhvu2889/miu-cs525-asd
- Open the project in your preferred IDE.
- Compile and run Java programs:
javac src/<file-name>.java java src/<file-name>
- Execute unit tests:
java -cp .:junit-platform-console-standalone.jar org.junit.platform.console.ConsoleLauncher --scan-classpath
Contributions are welcome! Follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes with a descriptive message.
- Submit a pull request for review.