Skip to content

MMilton1/CMSC-215-Intermediate-Java-Programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CMSC 215: Intermediate Java Programming

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.

πŸ“š Course Overview

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

🎯 Course Outcomes

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.

πŸ—‚ Repository Structure

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

πŸ›  Tools and Technologies

  • 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

πŸš€ Projects

Each programming project aligns with the course outcomes and incorporates industry-relevant skills:

  1. Project 1: Object-oriented application with inheritance and polymorphism.
  2. Project 2: Abstract classes and interface-driven API.
  3. Project 3: Event-driven GUI application with JavaFX.
  4. Project 4: Recursive problem-solving and generics application.

πŸ“– Learning Reflections

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.

πŸ‘¨β€πŸ’» About Me

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.

🀝 Connect with Me

Thank you for visiting my repository! Feedback and collaboration opportunities are always welcome.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages