Welcome to the repository for my coursework in CMSC 215: Intermediate Programming in Java at the University of Maryland Global Campus (UMGC). This repository showcases my progress in mastering intermediate-level programming concepts and implementing Java projects, with the ultimate goal of applying these skills in a professional software engineering role.
This course builds upon foundational programming knowledge and emphasizes object-oriented programming, graphical user interface (GUI) development, exception handling, recursion, and data structures. Key focus areas include:
- Object-oriented design and programming
- GUI and event-driven programming
- Exception handling, I/O operations, and recursion
- Generics, inheritance, and polymorphism
- Abstraction and interfaces
Upon completion, I will have demonstrated the ability to:
- Design and implement object-oriented programs using Java features like classes, objects, inheritance, and interfaces.
- Simplify complex programming problems through object-oriented approaches.
- Handle exceptions effectively and implement robust file I/O solutions.
- Create interactive GUIs with user-interface controls, event handlers, and animations.
- Utilize recursive programming techniques and apply generics in classes and methods.
- Document the design, implementation, and testing processes for Java applications.
This repository is organized into the following directories:
-
Week 1: Object-Oriented Thinking
- Topics: Classes, objects, and encapsulation
- Assignments: Discussion, Quiz 1
-
Week 2: Inheritance and Polymorphism
- Topics: Method overriding, dynamic binding
- Assignments: Programming Project 1, Quiz 2
-
Week 3: Exception Handling and Text I/O
- Topics: File reading/writing, exception hierarchies
- Assignments: Discussion, Quiz 3
-
Week 4: Abstract Classes and Interfaces
- Topics: Abstraction, designing reusable APIs
- Assignments: Programming Project 2, Quiz 4
-
Week 5-6: JavaFX and Event-Driven Programming
- Topics: GUI design, animations, multimedia integration
- Assignments: Programming Project 3, Quizzes 5-6
-
Week 7: Recursion
- Topics: Recursive methods, problem-solving with recursion
- Assignments: Discussion, Quiz 7
-
Week 8: Generics
- Topics: Generic programming, type safety
- Assignments: Programming Project 4, Quiz 8
- Programming Language: Java (Java 17+)
- IDE: IntelliJ IDEA / Eclipse
- Frameworks and Libraries: JavaFX
- Version Control: Git and GitHub
- Textbook: Revel Introduction to Java Programming and Data Structures, 13th edition by Y. Daniel Liang
Each programming project aligns with the course outcomes and incorporates industry-relevant skills:
- Project 1: Object-oriented application with inheritance and polymorphism.
- Project 2: Abstract classes and interface-driven API.
- Project 3: Event-driven GUI application with JavaFX.
- Project 4: Recursive problem-solving and generics application.
I will document my reflections, challenges, and insights gained during this course in a Reflections.md
file. These reflections aim to showcase my growth as a developer and demonstrate my ability to solve complex problems.
I am a software development student aspiring to become a full-stack software engineer. This repository is part of my journey to strengthen my technical portfolio and appeal to recruiters in the tech industry.
- GitHub: mmilton1
- Email: murraylmilton@outlook.com
- LinkedIn: Your LinkedIn Profile
Thank you for visiting my repository! Feedback and collaboration opportunities are always welcome.