STATISTICS


Course Credits: 3 Units

Prerequisites: CMSC 21

CMSC 22: Fundamentals of Object-Oriented Programming

Course Description

This course includes the fundamentals of object-oriented programming (objects, classes, abstraction, encapsulation, inheritance, and polymorphism), particularly using the Java programming language. The course starts with introductory concepts and progresses to touch on advanced topics, as well as the application of acquired skills in object-oriented programming into the real world.

Course Learning Outcomes

After completion of the course, the student should be able to:

  1. Understand and apply object-oriented programming (OOP) principles and concepts.
  2. Develop and write programs using Java, while utilizing tools of an IDE (integrated development environment), to solve real-world problems.
  3. Develop and write efficient, readable, well-structured, and properly documented code.
  4. Test and debug your own code in order to catch bugs and errors (exception-handling).
Course Outline

UNIT 1. Introduction

  1. What, Who, When, Where, How, Why?
  2. Getting Started
  3. IDE (Integrated Development Environment)
  4. What real-life problem I want to solve

UNIT 2. Noob: Java Basics

  1. Java Building Blocks
  2. Operators and Statements
  3. Core Java APIs
  4. Methods and Encapsulation
  5. Class Design
  6. Exceptions

UNIT 3. 3. Pro: Java In Real-World

  1. Design Patterns
  2. Best Practices
  3. TDD (Test-Driven Development)

UNIT 4. Advanced Topics

  1. Annotations
  2. Generics
  3. Lamda And Nested Classes

UNIT 5. The End

  1. In Summary
  2. Where To Go From Here?