Ashvin | Comprehensive Guide to Python and Java Tutoring: APCS and OOP for Malaysian Students
Unlock your potential in computer science with our extensive resources for Python and Java programming. This guide is designed to help Malaysian students excel in APCS, data structures, algorithms, and object-oriented programming. Access private tuition class materials, including slides and exercises, to enhance your understanding and practical skills.
Understanding Python and Java for APCS
1) Class 1 (24 April 24) :
a) Class Summary:
-
utilizing Brain power from Neuroscicnce prospective
-
AI & Robotics fields
-
High Level vs Low Level languages
b) Video ( Wednesday ):
Part 1 (Utilizing Brain Power + Industrial Projects + Low Level Lang.),
d) Files: Demo Class
e) Class Code: n/a
f) Excercises : n/a
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
2) Class 2 (25 April 24) :
a) Class Summary:
-
utilizing Brain power from Neuroscicnce prospective
-
AI & Robotics fields
-
High Level vs Low Level languages
b) Video ( Thrusday ):
Part 1 (Introduction Componential Thinking and Decomposition),
Part 2 (Java Introduction + print Statements ),
Part 3 (Data Types & Variables usage in Java + Coding practice)
d) Files: Computential Thinking , Suming numbers white Paper, Java Intro , Java Variables
e) Class Code: n/a
f) Excercises : Decomposition Excercise + Java Code Excercise
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
3) Class 3 (30 April 24) :
a) Class Summary:
-
Int, double and Boolean Data types
-
Scanner Object Usage
-
Evaluating expressions
-
Casting
b) Video ( Tuesday ):
Part 1 (Home Work discussion + Receipt Question practice),
Part 2 (final + Capturing user input using Scanner + Coding practice),
Part 3 (Arithmetic expressions + Casting + Modulus + Practice questions)
d) Files: Slide 2- Receipt Question + Scanner , Arithmetic expressions + Casting
e) Class Code: n/a
f) Excercises : Questions part 1
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
4) Class 4 (2 May 24) :
a) Class Summary:
-
Inremting Shortcuts
-
Modulus usage
-
Math.pow usage
-
Math.sqrt usage
-
OOP Concepts
-
Using Methods
b) Video ( Thrusday ):
Part 1 (Incrementing Shortcuts + Modulus exercise),
Part 2 (Using Math.pow & Math.sqrt methods +OOP concept and Classes),
Part 3 (Benefits of creating Methods + Code practice )
d) Files: Incrementing shortcuts / modulus math lib , OOP Concepts , Creating mathods
e) Class Code: n/a
f) Excercises : Grades Excercise
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
5) Class 5 (7 May 24) :
a) Class Summary:
-
I
b) Video ( Tuesday ):
Part 1 (Revising Grades Home work code),
Part 2 (Practical coding practice + Trace table + String formatting),
Part 3 (Ascii Table + Unicode in coding + Generating Random Numbers)
d) Files: Class Code Practice Examples and Excercises
e) Class Code: n/a
f) Excercises : Mutiple Exercise
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
6) Class 6 (9 May 24) :
a) Class Summary:
-
I
b) Video ( Thrusday ):
Part 1 (Returning values from a Method + Math library methods),
Part 2 (Re-writing homework Methods ),
Part 3 (Passing Parameters / Arguments to Java Methods)
d) Files: Method in Java Slide
e) Class Code: n/a
f) Excercises : Creating Methods
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
7) Class 7 (14 May 24) :
a) Class Summary:
-
I
b) Video ( Tuesday ):
Part 1 (Clearing Homework difficulties in building & calling methods within one another),
Part 2 (distance method + Understanding string Indexing),
Part 3 (String method substring() + IndexOf() + equals() + Math min())
d) Files: String & Assisting methods , Math.min & max
e) Class Code: n/a
f) Excercises : Random Characters + Use substring() method
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
8) Class 8 (18 May 24) :
a) Class Summary:
-
n/a
b) Video ( Saturday ):
Part 1 (Troubleshooting Parsing Strings as doubles & Integers exercise),
Part 2 (CompareTo String Method & Modifying strings),
Part 3 (String Lab exercise + If statements)
d) Files: String Lab , If Statements
e) Class Code: n/a
f) Excercises : Print Recipt Exercise
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
9) Class 9 (23 May 24) :
a) Class Summary:
-
n/a
b) Video ( Thrusday):
Part 1 (Homework discussion + Earthquake exercise),
Part 2 (Conditions coding practice),
Part 3 (if conditions shortcut + Building day of week method)
d) Files: Class Exercises , Lecture 8 - If statements
e) Class Code: n/a
f) Excercises : Days ofthe week Method , Wellness Exercise
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
**Interactive Slides and Exercises for CS Learning**
10) Class 10 (25 May 24) :
a) Class Summary:
-
n/a
b) Video ( Saturday ):
Part 1 (days of week home work improvement + generating random Characters method),
Part 2 (Using logical operators in IF statements ),
Part 3 (Creating quadrant detector method + Coding practice)
d) Files: Class Exercises , Lecture 9- logical expressions
e) Class Code: n/a
f) Excercises : BMR Calculation , Wellness Exercise
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
11) Class 11 (28 May 24) :
a) Class Summary:
-
n/a
b) Video ( Tuesday ):
Part 1 (Homework + Projects overview + String methods),
Part 2 (CharAt & Replace methods + Wellness Menu Exercise ),
Part 3 (DeMorgan Law usage negating condition)
d) Files: DeMorgan Law , Assisting methods
e) Class Code: n/a
f) Excercises : Season, Grade and TDEE exercise
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
12) Class 12 (1 June 24) :
a) Class Summary:
-
n/a
b) Video ( Saturday ):
Part 1 (TDEE Exercise + isVowel Method),
Part 2 (Negating Method ex. isNonVowel + While loop Intro ),
Part 3 (While loops Example Usages)
d) Files: Home work Answers, While loops
e) Class Code: n/a
f) Excercises : Lottery Odds
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
13) Class 13 (3 June 24) :
a) Class Summary:
-
n/a
b) Video ( Monday ):
Part 1 (Building Lottery Odds Exercise step by step),
Part 2 (Continue Building Lottery Odds Exercise + For loop Vs While Loop ),
Part 3 (For loop usage + Math Round method + While loop exercies)
d) Files: Round Method, For loops
e) Class Code: n/a
f) Excercises : CountFactors for a number
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
**Enhancing Coding Skills with Private Tuition Resources **
14) Class 14 (8 June 24) :
a) Class Summary:
-
n/a
b) Video ( Saturday ):
Part 1 (Analyzing and Building countFactors method step by step),
Part 2 (Building isPrime & countPrimes methods step by step),
Part 3 (Simulating Male/ Female population using random + For loops forms)
d) Files: Class 13 homeworks solution, Class Exercises and solutions
e) Class Code: n/a
f) Excercises : Guessing Game
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
15) Class 15 (13 June 24) :
a) Class Summary:
-
n/a
b) Video ( Thrusday ):
Part 1 (Fixing Guessing Game Code + Removing & Counting Spaces in Strings),
Part 2 (),
Part 3 (isPalindrome method & variety of Nested Loops)
d) Files: Module 11 For loops, Module 12 nested loops
e) Class Code: n/a
f) Excercises : Dice Probility Exercise , printTwoDigit Exercise
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
16) Class 16 (15 June 24) :
a) Class Summary:
-
n/a
b) Video ( Saturday ):
Part 1 (Brainstorming Dice probability Exercise),
Part 2 (Calculating probability + Estimating operation Complexity),
Part 3 (Read text & Double data from text Files)
d) Files: Reading Text Files, OOP Intro, Estimating operation complexity
e) Class Code: n/a
f) Excercises : Family members probability
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
17) Class 17 (18 June 24) :
a) Class Summary:
-
n/a
b) Video ( Tuesday ):
Part 1 (Analyzing family members probability Exercise),
Part 2 (),
Part 3 (Testing Sprite class code with mutator Methods & Private variables)
d) Files: Sprite Class Mutator & accessor Methods
e) Class Code: n/a
f) Excercises : Password generator Exercise (Additional : step by step Instructions)
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
18) Class 18 (22 June 24) :
a) Class Summary:
-
n/a
b) Video ( Saturday ):
Part 1 (Building a password generator solution step by step),
Part 2 (Improving the password generator solution),
Part 3 (Adding multiple constructors to a student class)
d) Files: Password Generator Alternative solution
e) Class Code: n/a
f) Excercises : Build Piggy Bank Class
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
** Java Programming: Best Practices and Exercises**
19) Class 19 (25 June 24) :
a) Class Summary:
-
n/a
b) Video ( Tuesday ):
Part 1 (Closed Source vs Open Source + Analyzing Piggy Bank exercise),
Part 2 (Piggy Bank exercise step by step + More about multiple constructors),
Part 3 (Google Dorks Intro + Building a Circle Class in Lab1)
d) Files: Piggy Bank Solution + G. Dorks + Open Source Vs Closed Source
e) Class Code: n/a
f) Excercises : Box Class Exercise, Car Class Exercise
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
20) Class 20 (29 June 24) :
a) Class Summary:
-
n/a
b) Video ( Saturday ):
Part 1 (Human Poses + Car Class Exercise troubleshooting + String Array basics),
Part 2 (Example codes looping through and populating string arrays + Proxy Servers),
Part 3 (Classes Static vs Non Static Methods)
d) Files: String Arrays basics, Static vs Non Static Methods , Home work solution
e) Class Code: String Arrays Code examples
f) Excercises : School Dance Class Exercise
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
**Enhancing Coding Skills with Private Tuition Resources**
21) Class 21 (3 July 24) :
a) Class Summary:
-
n/a
b) Video ( Wednesday ):
Part 1 (Troubleshooting dance tickets Exercise + Processor Cache),
Part 2 (Static vs Non Static Class methods + Overloading Class methods),
Part 3 (Web server functionality + Printing Objects + Printf & formatting Strings)
d) Files: Format Strings, Processor Cache & Web Servers, using toString class method
e) Class Code: n/a
f) Excercises : Complex Mumber Lab
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
22) Class 22 (6 July 24) :
a) Class Summary:
-
n/a
b) Video ( Saturday ):
Part 1 (Intro into Arrays + Traversing Array Elements ),
Part 2 (Rack mounted Servers + Mystery Array problem ),
Part 3 (Array.Tostring method + Count Above Average array elements Lab)
d) Files: Module 16 Arrays, Complex numbers & server Images
e) Class Code: n/a
f) Excercises : Arrays lab 1
g) HomeWork Solutions Posting (FB) : post answers or link to answer files
**Resuming Classes
Class 23 (27 July 2024)
a) Class Summary:
- Brainstorming Arrays Lab 1: Develop three Java functions to identify the highest element, the smallest element, and the index of the smallest element in an array.
- Studying For-Each Loop: Learn to handle lists of objects with example codes using a student class, focusing on iteration and object manipulation.
b) Video (Saturday):
- Part 1: Developing Java Functions: Highest and Smallest Elements in Arrays (Part 1)
- Part 2: Java Arrays and For-Each Loop: Function Development and Object Handling (Part 2)
- Part 3: Mastering For-Each Loop: Handling Lists of Objects in Java (Part 3)
d) Files:
- Detailed slides covering the use and implementation of for-each loops in Java
e) Class Code:
- n/a
f) Exercises:
- Hands-on exercise to build an Employee class and a Company class in Java
g) HomeWork Solutions Posting (FB) :
- post answers or link to answer files
Class 24 (30 July 2024)
a) Class Summary:
- **Employee and Company Classes:** Studied the `Employee` class and methods like `getSalary()` and `getName()`. Examined the `Company` class, which includes both instance and static `average` methods.
- **Reference Semantics:** Covered how variables in Java store references to objects, and how modifying an object through one reference affects all references to that object.
- **Array Handling:** Explored how to declare and return arrays from methods, emphasizing understanding array manipulation and usage in Java.
- **Array Reversal:** Practiced writing methods to reverse the order of elements in an array, reinforcing array manipulation skills.
b) Video (Tuesday):
- Part 1: Java OOP Basics: Employee and Company Classes Explained | Class 24 | Java Tutorial Part 1
- Part 2: Java Static Methods & Reference Semantics Deep Dive | Class 24 | Java Tutorial Part 2
- Part 3: Mastering Java Arrays: Handling, Returning, and Reversing Arrays | Class 24 | Java Tutorial Part 3
d) Files:
- Java ForEach Loop Part2 Slides
- Homework Answers And Heuristics
e) Class Code:
- n/a
f) Exercises:
g) HomeWork Solutions Posting (FB) :
- post answers or link to answer files
Class 24 (30 July 2024)
a) Class Summary:
- **Employee and Company Classes:** Studied the `Employee` class and methods like `getSalary()` and `getName()`. Examined the `Company` class, which includes both instance and static `average` methods.
- **Reference Semantics:** Covered how variables in Java store references to objects, and how modifying an object through one reference affects all references to that object.
- **Array Handling:** Explored how to declare and return arrays from methods, emphasizing understanding array manipulation and usage in Java.
- **Array Reversal:** Practiced writing methods to reverse the order of elements in an array, reinforcing array manipulation skills.
b) Video (Tuesday):
- Part 1: Java OOP Basics: Employee and Company Classes Explained | Class 24 | Java Tutorial Part 1
- Part 2: Java Static Methods & Reference Semantics Deep Dive | Class 24 | Java Tutorial Part 2
- Part 3: Mastering Java Arrays: Handling, Returning, and Reversing Arrays | Class 24 | Java Tutorial Part 3
d) Files:
- Java ForEach Loop Part2 Slides
- Homework Answers And Heuristics
e) Class Code:
- n/a
f) Exercises:
g) HomeWork Solutions Posting (FB) :
- post answers or link to answer files
Class 25 (3 August 2024)
a) Class Summary:
- being updated
b) Video (Satuday):
- Part 1: APCS A Java Tutorial: Solving Number Class Exercises
- Part 2: APCS A Java Tutorial: Implementing Swapping Algorithms to Reverse Arrays
- Part 3: APCS A Java Tutorial: Upcoming Updates | Stay Tuned
d) Files:
- Reversing Arays using temp swap varibales
-
e) Class Code:
- n/a
f) Exercises:
- Build Student & Tardies Classes Excercises
g) HomeWork Solutions Posting (FB) :
- post answers or link to answer files
Class 26 (6 August 2024)
a) Class Summary:
- Analyzed student tardiness patterns through a hands-on class exercise.
- Implemented methods to fill in and manage student tardiness data.
- Created a summary report method to efficiently compile and analyze tardiness data.
b) Video (Satuday):
- Part 1: Analyzing Student Tardies Class Exercise
- Part 2: Implementing Tardies Class - Fill in Student Data Method
- Part 3: Implementing Tardies Class - Create Tardies Summary Report Method
d) Files:
- n/a
e) Class Code:
- n/a
f) Exercises:
- No coding assignments this time. Instead, please watch the following videos (around 20 minutes) and be prepared to share your thoughts on them in our next class.
-
- Reflect on the key messages and how they relate to your personal and professional life.
-
- Identify common excuses and discuss how to overcome these obstacles in your own programming journey.
-
Why Python is a Better Language:
- Analyze the arguments presented and consider how Python compares to other programming languages you’ve learned.
Please be ready to discuss your insights and thoughts during our next session.
g) HomeWork Solutions Posting (FB) :
- post answers or link to answer files
Class 27 (10 August 2024)
a) Class Summary:
- being updated
b) Video (Satuday):
- Part 1: Exploring Careers in Automation and Cybersecurity: Roles, Skills, and Industry Trends
- Part 2: Java Mastery Ahead: Exploring Recursion, Inheritance, Sorting, and Introduction to ArrayLists
- Part 3: Mastering ArrayList Methods in Java: Add, Remove, Size, toString, and Reversing Techniques
d) Files:
e) Class Code:
- n/a
f) Exercises:
- Complete the Array Lab:
- Extract Odd Numbers
- Shift List Right
- Shift List Left
- Watch the following videos:
Class 28 (13 August 2024)
a) Class Summary:
- Overcoming Coding Challenges & Problem-Solving Skills: Discussed common coding hurdles and techniques to enhance problem-solving abilities.
- Understanding Java ArrayList Operations: Explored best practices and troubleshooting techniques for ArrayList operations, including key methods like remove
.
- Real-Time Debugging: Live debugging session focused on resolving Java errors related to ArrayList operations.
b) Video (Tuesday):
- Part 1: Overcoming Coding Challenges & Enhancing Problem-Solving Skills
- Part 2: Understanding Java ArrayList Operations: Troubleshooting Code Logic and Best Practices for Programming Students
- Part 3: Troubleshooting Java Errors: Real-Time Debugging & Best Practices for ArrayList Operations
d) Files:
- Handling arraylist special conditions (remove method, non primitive data types)
e) Class Code:
- n/a
f) Exercises:
g) HomeWork Solutions Posting (FB) :
- post answers or link to answer files
Class 29 (17 August 2024)
a) Class Summary:
-
Embedded Systems in Cars:
- Discussed how ADCs, DACs, microprocessors, and smart sensors are utilized in automotive applications, including automatic braking and ABS systems.
-
Selection Sort Algorithm:
- Explored the step-by-step process of selection sort, focusing on the purpose of each
for
loop and the swapping mechanism.
- Explored the step-by-step process of selection sort, focusing on the purpose of each
-
Search Algorithms for Strings:
- Covered linear search for strings and how to implement binary search using the
compareTo
method for efficient searching in sorted lists.
- Covered linear search for strings and how to implement binary search using the
-
Java Programming Exercise:
- Walked through creating a contact management application using classes and ArrayLists, emphasizing class decomposition and method decomposition.
b) Video (Tuesday):
- Part 1: Embedded Systems in Cars: ABS & Smart Sensors Explained + PhoneList Java Exercise
- Part 2: need to be updated
- Part 3: Mastering Selection Sort and Search Algorithms: Linear & Binary Search for Strings Explained
d) Files:
- Selection Sort Algorithm & Binary Search Techniques
- Understanding the compareTo Method & Binary Search
e) Class Code:
- n/a
f) Exercises:
- Sort Names using selection Sort , How to read data from a file , names_list text file
g) HomeWork Solutions Posting (FB) :
- post answers or link to answer files
Class 30 (20 August 2024)
a) Class Summary:
-
Understanding 2D Arrays in Java: The class begins with a comprehensive guide on how to declare and initialize 2D arrays in Java. It covers the structure, syntax, and best practices for defining these arrays, providing the foundational knowledge needed to work with multi-dimensional data.
-
Traversing and Searching 2D Arrays Efficiently: The class progresses to discuss advanced techniques for traversing 2D arrays using row-by-row and column-major approaches. Additionally, it introduces searching methods like sequential search and implementing a custom
boolean search2D()
method, equipping learners with essential skills for handling complex data structures.
b) Video (Tuesday):
- Part 1: Mastering 2D Arrays in Java: Declaration and Initialization Explained
- Part 2: under update
- Part 3: Exploring 2D Array Traversal Techniques in Java: Row-by-Row, Column Major, and Searching Methods
d) Files:
- 2D Arrays in Java: Initialization, Traversal, and Searching Techniques
e) Class Code:
- n/a
f) Exercises:
- solve the previous exercise.
g) HomeWork Solutions Posting (FB) :
- post answers or link to answer files
Class 31 (29 August 2024)
a) Class Summary:
-
Selection Sort and File Handling Recap: The class began with a refresher on the selection sort algorithm and techniques for reading files in Java, helping students regain momentum after a holiday break.
-
Advanced ArrayList and 2D Array Operations: The class then moved on to mastering key Java concepts, including adding elements to ArrayLists within loops, searching and sorting elements in 2D arrays, and effectively using the
compareTo
method for sorting strings.
b) Video (Thrusday):
- Part 1: Refreshing Selection Sort and File Reading Techniques After a Holiday Break
- Part 2:
- Part 3: Mastering ArrayLists and 2D Arrays: Adding, Searching, and Sorting in Java
d) Files:
- n/a
e) Class Code:
- n/a
f) Exercises:
- Complete the selection sort portion assigned as homework from Class 29
g) HomeWork Solutions Posting (FB) :
- post answers or link to answer files