Ahmed Elmalla
Ahmed Elmalla
Expert Python, Java, and VB.NET Programming Guidance IB Computer Science Tutor AP Computer Science A Tutor Python Programming Tutor Java Programming Tutor Experienced VB.NET Coding Tutor
Ahmed Elmalla

Blog

Ashvin | Comprehensive Guide to Python and Java Tutoring: APCS and OOP for Malaysian Students

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: 

  1. utilizing Brain power from Neuroscicnce prospective

  2. AI & Robotics fields

  3. 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: 

  1. utilizing Brain power from Neuroscicnce prospective

  2. AI & Robotics fields

  3. 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: 

  1. Int, double and Boolean Data types

  2. Scanner Object Usage

  3. Evaluating expressions 

  4. 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: 

  1. Inremting Shortcuts 

  2. Modulus usage

  3. Math.pow usage

  4. Math.sqrt usage

  5. OOP Concepts

  6. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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: 

  1. 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 StringsProcessor 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: 

  1. 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:

- Create Numbers Class 

 

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:

Create Numbers Class 

 

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.

  1. Steve Jobs' Speech:

    • Reflect on the key messages and how they relate to your personal and professional life.
  2. Programmer Excuses:

    • Identify common excuses and discuss how to overcome these obstacles in your own programming journey.
  3. 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:

 

 

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)

Searching Array Lists

 

e) Class Code:

- n/a

 

f) Exercises:

Phone List Array list 

 

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.
  • 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.
  • 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

 

 

 

Add Comment