Lab 1: Simulation I - CS2030S Programming Methodology II
The goal of Lab 1 is for you to practice the basic OOP principles: encapsulation (including tell-don't-ask and information hiding), abstraction, inheritance, and polymorphism. You are given six classes: five Java classes and one main Lab1 class. Two of them are poorly written without applying any of the OOP principles. Using the OO principles that you have learned, you should rewrite, remove, or add new classes as needed. A discrete event simulator is a software that simulates a system (often modeled after the real world) with events and states. An event occurs at a particular time and each event alters the states of the system and may generate more events. A discrete event simulator can be used to study many complex real-world systems. The term discrete refers to the fact that the states remain unchanged between two events, and therefore, the simulator can jump from the time of one event to another, instead of following the clock in real time. In Lab 1, we provide you with three very
Lab 1: Simulation I Deadline: 31 January 2023, Tuesday, 23:59 SST Marks: 15 Weightage: 3% Prerequisite: Completed Lab 0 Caught up to Unit 18 of Lecture Notes Goal The goal of Lab 1 is for you to practice the basic OOP principles: encapsulation (including tell-don't-ask and information hiding), abstraction, inheritance, and polymorphism. You are given six classes: five Java classes and one main Lab1 class. Two of them are poorly written without applying any of the OOP principles. Using the OO principles that you have learned, you should rewrite, remove, or add new classes as needed. Background:
Explore this link on the map →saved by
related reading
- Lab 2: Simulation 2 - CS2030S Programming Methodology IInus-cs2030s.github.io
- 4. Encapsulation - CS2030S Programming Methodology IInus-cs2030s.github.io
- 17. Abstract Class - CS2030S Programming Methodology IInus-cs2030s.github.io
- 14. Polymorphism - CS2030S Programming Methodology IInus-cs2030s.github.io
- 19. Wrapper Class - CS2030S Programming Methodology IInus-cs2030s.github.io
- how I think when I think about programming - alice mazalicemaz.com
- Up and Down the Ladder of Abstractionworrydream.com
- Object-oriented programming - Learn web development | MDNdeveloper.mozilla.org
- The Law of Leaky Abstractions – Joel on Softwarejoelonsoftware.com
- SOLID Design Principles Explained: Building Better Software Architecture | DigitalOceandigitalocean.com
- Learnable Programmingworrydream.com
- artima - Josh Bloch on Designartima.com