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


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)
  1. B – Brackets (solve things inside ( ), { }, [ ] first)
  2. O – Orders or Of (powers/roots)
  3. D – Division
  4. M – Multiplication
  5. A – Addition
  6. 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)
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

Week 2 (30/09/26)

JVM Architecture
Java source file > Jacac compiler > Class file > Java command > JVM (specific OS) > Native Computer

Data Types


Stack Memory (Primitive Data Types) - fast to access and secure
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 1
Explisit - top to bottom - character to number
Implisit

if conditions
need 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)

!

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

Popular posts from this blog

INTERACTIVE DESIGN - PROJECT 1: DIGITAL BUSINESS CONCEPT

ADVANCED INTERACTIVE DESIGN - EXERCISES

INFORMATION DESIGN - EXERCISES