OBJECT ORIENTED PROGRAMMING - FULL PROCESS
21.09.26 - 28.12.26 (Week 1 - Week 15)
Michelle (0373843)
Object Oriented Programming / Bachelor of Design (Honours) in Creative Media / Taylor's University
Full Process
Michelle (0373843)
Object Oriented Programming / Bachelor of Design (Honours) in Creative Media / Taylor's University
Full Process
TABLE OF CONTENTS
LECTURE
Module Lecturer: Dr. Shakeel Ahmed
Email: Shakeel.ahmed@taylors.edu.my
Communications:
- Strictly No WhatsApp/SMS/Call).
- Email is used ONLY for official matters.
- Microsoft Teams is used for any discussions related to subject matter.
- MyTimes is used to post announcements/teaching materials
Week 1 (21/09/26)
Introduction to Programming
Computer Programs: Software: Instructions for computer
Programming Languages:
- Machine Language (1st Generation)
- Built into every computer
- Primitive, tedious to read & modify
- Form: binary code
- Assembly Language (2nd Generation)
- Easier programming
- Use assembler to convert assembly language into machine code.
- High-level Language (3rd Generation)
- English-like
- Easy to learn
- Examples: Phython, Java, JavaScript, C#, C++, Ruby, Swift
- Non-Procedural Languages (4th Generation)
- domain-specific languages
- managing data or databases - programmer specifies what data they want
- Examples: SQL (Structured Query Language), R, MATLAB
- Logic and Constraint-Based Language (5th Generation)
- Designed for artificial intelligence, expert systems, and logic programming.
- Instead of step-by-step algorithms, the programmer defines strict rules, constraints, and conditions, and the computer computes the solution autonomously.
- Examples: Prolog, Mercury, OPS5
Translator (programming tool): Compiler/Interpreter
Program written in High-level Language: Source Program/Source Code
- Source code > Compiler > Machine Code > Output
- Source code > Interpreter > Output
Operating Systems
- A program that controls computer activity.
- Application programs can't run unless OS is installed & running.
- Popular examples: Microsoft Windows, Mac OS, Linux
- User > Application Program > OS > Hardware
Java
Week 2 (28/09/26)
Elementary Programming
Data Types
- Number
- Integer
- Double: long decimal
- Float: decimal cut short
- String: collection of letters
- Character: 1 letter
User-defined: rule determined by the programmer
Comment
- /** Multi-line comment */
- //One-line comment
Identifiers
define variables:
no spasces
built in bowrds
true, false, null, main
General Info
+ means joining 2 strings together
Can declare & intialize at the same time
FINAL: no changes
programming is line by line
Order of Operations (BODMAS)
- B – Brackets (solve things inside ( ), { }, [ ] first)
- O – Orders or Of (powers/roots)
- D – Division
- M – Multiplication
- A – Addition
- S – Subtraction
Week 3 (05/10/26)
Selection Structures
Boolean - true or false
if
if/else
switch
if else
Week 4 (12/10/26)
Java API Classes
String
index always starts from 0
Length starts from 1
comparisons
Week 5 (19/10/26)
Loops
!
Week 6 (26/10/26)
Methods
!
Week 7 (02/11/26) - Mid Term Test
Arrays (part 1)
!
Week 8 (09/11/26)
Arrays (part 2)
!
Week 9 (16/11/26)
Classes & Object (part 1)
!
Week 10 (23/11/26)
Classes & Object (part 2)
!
Week 11 (30/11/26)
Inheritance
!
Week 12 (07/12/26)
Polymorphysm
!
Week 13 (14/12/26)
Object Oriented Thinking
!
Week 14 (21/12/26)
Other OO Topics
!
Week 15 (28/12/26)- Final Exam
PRACTICAL
Lecturer: Dr Anbuselvan Sangodiah
Email: anbuselvan.sangodiah@taylors.edu.my (personal metters)
Email: anbuselvan.sangodiah@taylors.edu.my (personal metters)
General matters - post inquiries in Teams - Main channel
Week 1 (23/09/26)
Getting started with IntelliJ Idea (Community or Professional) and Oracle JDK 8 (any version of JDK 8 is acceptable. Apply for JetBrains student license.
Task 1: Installing Apache NetBeans (latest version) on Windows.
Task 2: Create a Java Project with a main class
![]() |
| Fig 2.1.1 Task 2 |
Task 3: Create a Simple ASCII Art
![]() |
| Fig 2.1.2 Task 3 |
Task 4: Create an Original ASCII Art
![]() |
| Fig 2.1.3 Task 4 |
Heap Memory (Non-Primitive Data Types) - takes up memory
1 byte = 8 bit = value 256
Terminology
On the fly: value not stored
Decomposition: 1 problem broken down to smaller problems (if too difficult to solve in 1 row).
Explicit: large box into small box
Implicit: small box to large box
Week 3 (05/10/26)
Control Structures 1Explisit - top to bottom - character to numberImplisit
if conditionsneed to have how many lines needed to be evaluated? best vs worst scenario
== matching operator/equal operator
Week 4 (12/10/26)
Working with Java API
https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html
scanner once
floating point error
10 into 2
non-primitive data
Week 5 (19/10/26)
Control Structures 2
Repetition structure
counter controller: know how many times
sentinel controller: can't know beforehand how many times
pre-test: test first before enter
post-test: enter then test
storing, recording, retrieve, tracking, showing summary
fixtures
Week 6 (26/10/26)
Working with Methods
!
Week 7 (02/11/26)
Array - Single Dimension
first box = index
each box has memory address
close to each other - so reading will be fast = good performance
reference variable - points to
static array - need to tell how many boxes first - fast
dynamic array - while programme runs, can request for more boxes - slow
even
odd
second method: determine odd or even
start from the 1st box
pass by value (w6?)
pass by reference
- like passing address to another person
side effect: dangerous:
use brackets [ ]
main is for coordination: 2 lines
method is the main building blocks
strustured approach = focus on method
convert into object oriented
every class
- what kind of info to be stored
what kind of operation needed to be performed on those info
class should have reasonable number of attributes - make it real
be clear of what each module supposed to do
1. goal
2. holds all the fixture
3. track usage - saily, weekly, monthly
4. report: summary convert into pdt
5.
Week 8 (09/11/26)
Array - Two Dimensional
!
Week 9 (16/11/26)
Classes & Objects (part 1)
!
Week 10 (23/11/26)
Classes & Objects (part 2)
!
Week 11 (30/11/26)
Inheritance
!
Week 12 (07/12/26)
Polymorphism
!
Week 13 (14/12/26)
Object Oriented Thinking
!
Week 14 (21/12/26)
Other OO Topics
!
Week 15 (28/12/26)
Final Exam
PROCESS WORK
IMPORTANT DATES
Week 3
Assessment-II Activity: Group Formation for group assignment (Assigning groups)
Week 4
Assessment-II release: Group Assignment questions
MLO2: Build capability to develop applications to solve computational problems related to
object-oriented programming language
Week 7
Assessment-I
Mid Term Test
MLO1: Apply the appropriate programming concepts and skills to evaluate and solve a
given problem
Week 12
Assessment-II submission: Group Assignment
Week 15
Final Exam
MLO3: Develop appropriate algorithms and programs using problem-solving and object oriented programming skills, anticipating outcomes for a given scenario
Week ? (00/00/26)
!
FEEDBACK
Week 1 (23/09/26)
!
Week 2 (30/09/26)
- Whenever we ask input, be detailed
- In programming, we need to ensure that the program is effective not only running.
- Try not to include number as value. If number is fixed, use final.
Week 3 (07/10/26)
- Come to class, because there are things explained that are not in the book. In group presentations, questions will be asked.
- Form groups only from the same section
- in asignment provide complete information (min, max)
Week 4 (14/10/26)
As a programmer, we need to think about all the things that can go wrong. (all of the unexpected).
Makes user panic.
Gives chance for hackers.
When system down/crashes, data can't be revealed.
Prevention: customized message
Line up the things that can go wrong, which one comes first
Week 5 (21/10/26)
Submit more file (4)
- pdf & word file
- entire project file
- JAR file (week 2 tutor) - imagine send to client - jar is running outside intellij - create in intellij
Use cover page provided
Submit to turnitin (1st page with plagiarism index)
Submit turnitin 3 days before deadline
Every member must fill declaration form in and submit (honestly how much AI used).
Task allocation form
Submit all through MyTimes
1 student minimal 1 module (package name exactly as task name)
each package (module) minimum 3 classes
don't make module name lengthy (precise short, 1-2 word)
check sample code - to make sure correct structure
modularity: create pckages
submit doesn't mean passing
late submission - minus grade, max 5 days
basic requirements, need to go beyond to get B+ or A
Week 6 (?/10/26)
!
Week 7 (?/11/26)
!
REFLECTION
Experience
!
Observation
There might be mistakes/inaccuracy in the lecture slides, so don't only learn from 1 source.
Findings
!






Comments
Post a Comment