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

G2 | Comprehensive Python Class Resources for Computer Science Students | KSA & UAE

G2 | Comprehensive Python Class Resources for Computer Science Students | KSA & UAE

Welcome to our dedicated resources page for Python classes. This page is designed to provide comprehensive support for our computer science students | Tutor KSA | Tutor UAE

Here, you'll find detailed class summaries, video recordings, class codes, exercises, and additional materials to help you excel in your Python programming journey.

Whether you're revising past lessons or preparing for upcoming classes, these resources are tailored to meet your learning needs and ensure your success. Let's dive in and make the most of your learning experience!

## Previous Class Recording
[Click Here]  

**Start of Ramdan Timing

38) Class 36 ( 12 March 24 ) - Group 2  :

      a) Class Summary: 

  1. n/a

      b) Video (Group 2 -  Tuesday): 

           Part 1 (N/A)

           Part 2 (N/A)

           
                                              

      d) Files:  L2 Slides Stage 2 - Dice Roll example

      e) Class Code: defining function to generate a random array

      f) Excercises :  define a function to calculate circle Area

      g) Twitter (X) link:  Group 1 - homework : na

 

39) Class 37 ( 13 March 24 ) - Group 1  :

      a) Class Summary: 

  1. n/a          

      b) Video (Group 1 -  Wednesday): 

           Part 1 (N/A)

           Part 2 (N/A)

           
                                              

      d) Files:  While Count Example

      e) Class Code: n/a

      f) Excercises :  Explained during the class

      g) Twitter (X) link:  Group 1 - homework : na

 

** Group1 class was canceled bec. of no ability to solve homework

40) Class 38 ( 19 March 24 ) - Group 2  :

      a) Class Summary: 

  1. S          

      b) Video (Group 2 -  Tuesday): 

           Part 1 (N/A)

           Part 2 (N/A)

           
                                              

      d) Files:  L2 Slides if with not & inL3 while loops with in

      e) Class Code: common passwords

      f) Excercises :  City Hoping Tasks 1,2,3 , cities list

      g) Twitter (X) link:  Group 1 - homework : na

 

41) Class 39 ( 27 March 24 ) - Group 1  : (Last Class for Group 1)

      a) Class Summary: 

  1. n/a          

      b) Video (Group 1 -  Wednesday): 

           Part 1 (N/A)

           Part 2 (N/A)

           Part 3 (N/A)

                                            

      d) Files:  Alternatives learning Paths 

      e) Class Code: n/a

      f) Excercises : n/a

      g) Twitter (X) link:  Group 1 - homework : na

 

42) Class 40 ( 28 March 24 ) - Group 2  :

      a) Class Summary: 

  1. n/a          

      b) Video (Group 2 -  Thrusday): 

           Part 1 (N/A)

                                 

      d) Files:  L3 slides using in keyword with while / if 

      e) Class Code: City Hopping / using in keyword

      f) Excercises : City GuessingCity List

      g) Twitter (X) link:  Group 1 - homework : na

 

43) Class 41 ( 4 April 24 ) - Group 2  :

      a) Class Summary: 

  1. n/a          

      b) Video (Group 2 -  Thrusday): 

           Part 1 (N/A)

           Part 2 (N/A)

                                 

      d) Files:  VPN, Firewall & Proxy Servers

      e) Class Code: n/a

      f) Excercises : Excercise1 : fix the code , Excercise 2 - Complete the code by counting letter b

      g) Twitter (X) link:  Group 1 - homework : na

 

44) Class 42 ( 23 April 24 ) - Group 2  :

      a) Class Summary: 

  1. While index in range statement

  2. for loop

  3. Trace tables

  4. Pseudo Code          

      b) Video (Group 2 -  Tuesday): 

           Part 1 (While Index, Trace Tables, for Loops with examples )

           Part 2 (Data Validation, example of using try/except blocks and pseudo code)
 

    d) Files:  for loop slides, while loop slides, Trace tables slides, Data validation slides , Pseudo Code slides

      e) Class Code: n/a

      f) Excercises : Data Validation Excercise, Pseudo Code Excercise

      g) Twitter (X) link:  Group 1 - homework : na

 

45) Class 43 ( 30 April 24 ) - Group 2  :

      a) Class Summary: 

  1. Dicussion about pseudo code

  2. for loop

  3. Trace tables

  4. Pseudo Code          

      b) Video (Group 2 -  Tuesday): 

           Part 1 (Pseudo code Homework discussion + Data Validation Home Work )

           Part 2 (L18 & L19 Subroutines and Functions importance & usage)

 

    d) Files:  Subroutines , Functions, Pseudo Code reference  

      e) Class Code: functions example

      f) Excercises : Calculator in Pseudo code , Fill-in trace table

      g) Twitter (X) link:  Group 1 - homework : na

 

** Class stoped because of exams

45) Class 44 ( 28 May 24 ) - Group 2  :

      a) Class Summary: 

  1. Home work dicussion

  2. Sorting list exercise dicussion

  3.           

      b) Video (Group 2 -  Tuesday): 

           Part 1 ( Homework + Why Using methods is important)

           Part 2 (Sort Even numbers first exercise + UI Branch in software development + Accept only numbers method)

 

    d) Files:  L20 Variable Scope Intro , L19 - Decompostion using methods

      e) Class Code:

      f) Excercises : wellness + Array Questions

      g) Twitter (X) link:  Group 1 - homework : na

 

46) Class 45 ( 5 june 24 ) - Group 2  :

      a) Class Summary: 

  1. Wellness Home work dicussion

  2. Creating first_last6 Method

  3. Method benefits

  4. Varibales scope intro

      b) Video (Group 2 -  Wednesday): 

           Part 1 ( Troubleshooting Wellness exercise )

           Part 2 (Solving Creating first_last6 Method)

           Part 3 (Variables Scope Intro)

 

    d) Files:  n/a

      e) Class Code: add method

      f) Excercises : List Exercises

      g) Twitter (X) link:  Group 1 - homework : na

 

47) Class 46 ( 12 june 24 ) - Group 2  :

      a) Class Summary: 

  1. W

      b) Video (Group 2 -  Wednesday): 

           Part 1 ( Brain storming Rotate Left Exercise )

           Part 2 (Brainstorming sum2 & Common End Exercises + Variables Global Scope)

 

    d) Files:  L20 Global variable scope

      e) Class Code: Global Scope

      f) Excercises : Double Letter Exercise

      g) Twitter (X) link:  Group 1 - homework : na

 

48) Class 47 ( 21 june 24 ) - Group 2  :

      a) Class Summary: 

  1. n/a

      b) Video (Group 2 -  Wednesday): 

           Part 1 ( Brainstorming double letter method exercise)

           Part 2 ( Using Constants + XOR Method + Structured Approach in code)

 

    d) Files:  n/a

      e) Class Code: n/a

      f) Excercises : isPrime method Exercise

      g) Twitter (X) link:  Group 1 - homework : na

 

49) Class 48 ( 3 July 24 ) - Group 2  :

      a) Class Summary: 

  1. n/a

      b) Video (Group 2 -  Wednesday): 

           Part 1 ( Brain storming CoutFactors method Solution)

           Part 2 ( Building isPrime method + Understanding return statements & function calls)

 

    d) Files:  n/a

      e) Class Code: n/a

      f) Excercises : Fix & Improve the code

      g) Twitter (X) link:  

 

 

Class 49 (10 July 2024) - Group 2

 

a) Class Summary:

- Not available (n/a)

 

b) Video (Group 2 - Wednesday):

- Part 1

- Part 2: 

 

d) Files:

- String Handling 

 

e) Class Code:

- looping through a string

 

f) Exercises:

- Theme park ticking System Exercise

 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

   

Class 50 (17 July 2024) - Group 2

 

a) Class Summary:

- Not available (n/a)

 

b) Video (Group 2 - Wednesday):

Part 1: Testing & Validating Theme Park ticketing solution

Part 2: Troubleshooting & Improving Theme park ticketing solution

 

d) Files:

- n/a

 

e) Class Code:

- n/a

 

f) Exercises:

- Implment discount function to the theme park solution

 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

Class 51 (24 July 2024) - Group 2

 

a) Class Summary:

- Not available (n/a)

 

b) Video (Group 2 - Wednesday):

Part 1: Calculating Theme Park Ticket Costs with Generic Functions | Learn Programming 

Part 2: Creating Discount Function, Secure Password Exercise & 2D Arrays Intro | Learn Programming

 

d) Files:

- 2D Arrays Introduction L33 slides

 

e) Class Code:

- 2 options for calculating ticket price

 

f) Exercises:

Implment a secure password solution

 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

Class 52 (31 July 2024) - Group 2

 

a) Class Summary:

- Not available (n/a)

 

b) Video (Group 2 - Wednesday):

Part 1: Troubleshooting & Improving Secure Password Homework Exercise | Expert Tips

Part 2: 

 

d) Files:

2D Arrays L33 slides (Completed)

 

e) Class Code:

- n/a

 

f) Exercises:

- Password manager Exercise , Listen to Home Work Description 

 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

 

Class 53 (7 August 2024) - Group 2

 

a) Class Summary:

  • Password Manager Exercise:

    • Learned to traverse 2D arrays using for loops, with a focus on managing database records.
  • Python Dictionaries:

    • Explored how dictionaries can be used as records, including the practice of adding multiple dictionaries to lists for organized data management.
  • Practical Implementation:

    • Completed the exercise involving the creation and management of database records, applying both pseudo code and Python dictionaries.

 

b) Video (Group 2 - Wednesday):

Part 1: Password Manager Exercise & Database Records: Traversing 2D Arrays with For Loops

Part 2: Understanding Python Dictionaries: Using Them as Records and Adding Multiple Dictionaries to Lists

 

d) Files:

- Database & Pseudo Code: Records and Dictionaries in Python (Completed)

 

e) Class Code:

- n/a

 

f) Exercises:

- Student Record management 

 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

Class 54 (15 August 2024) - Group 2

 

a) Class Summary:

- Discussed ITI and FWD learning paths for specialization and freelancing.

- Emphasized that Python basics alone are insufficient; advanced libraries and frameworks are essential for professional work.

- Covered strategies for managing student records and career growth for programmers.

- Explained file handling in Python, specifically writing to files.

 

b) Video (Group 2 - Wednesday):

Part 1: Mastering Student Record Management & Career Growth Strategies for Programmers

Part 2: Understanding ITI and FWD Learning Paths: Specialization & Freelancing Insights

 

d) Files:

- Reading data from Text Files

 

e) Class Code:

- template for the solution of the student record management 

 

f) Exercises:

- Watch this Video : Arabic Freelancers style , Interviews with 2 Arabic Programers
 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

Class 55 (04 Sept 2024) - Group 2

 

a) Class Summary:

- D

 

b) Video (Group 2 - Wednesday):

Part 1: Text File Handling and Procedural Programming in Python 

 

d) Files:

Reading data from Text Files (Complete)

 

e) Class Code:

- n/a

 

f) Exercises:

- Convert code into a function


 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

Class 56 (11 Sept 2024) - Group 2

 

a) Class Summary:

- n/a

 

b) Video (Group 2 - Wednesday):

Part 1

- Part 2:

 

d) Files:

- Introduction to Object-Oriented Programming: Classes and Objects

 

e) Class Code:

- n/a

 

f) Exercises:

- OOP Pet Exercise 


 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

Class 57 (18 Sept 2024) - Group 2

 

a) Class Summary:

  • Understanding Classes and Objects: Students learned how to define classes in Python and create objects, understanding the concept of real-world entities being modeled as objects in programming.
  • Encapsulation and Methods: The concept of encapsulation was explained, showing how methods in a class define behavior, and attributes store object data.
  • Inheritance and Reusability: The class introduced inheritance, explaining how one class can inherit properties and behaviors from another, promoting code reuse.
  • Practical Implementation: The session included hands-on coding exercises where students practiced creating, modifying, and working with multiple classes, refining their understanding of OOP in Python.

 

b) Video (Group 2 - Wednesday):

Part 1: Advanced Object Manipulation and Class Methods in Python OOP (done)

 

d) Files:

OOP Objects and Classes L2 - Completed

 

e) Class Code:

- n/a

 

f) Exercises:

OOP Pet Exercise (Please complete the sections that were left unfinished)


 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

Class 58 (25 Sept 2024) - Group 2

 

a) Class Summary:

  • Team Dynamics & Resource Management: Emphasized understanding team dynamics and managing shared resources effectively.
  • Consistent Practice in Programming: Highlighted the importance of daily, consistent practice for steady progress in programming skills.
  • AI Capabilities and Usage: Explored AI capabilities, limitations, and responsible use in programming tasks, including D-Stories on Facebook.
  • Design and Naming Conventions: Discussed the significance of clear naming conventions and having a strong design foundation in technical work.

 

b) Video (Group 2 - Wednesday):

Part 1: Team Dynamics, AI Capabilities, and Consistent Programming Practice

 

d) Files:

- Planning & Creating the Monster class 

 

e) Class Code:

- n/a

 

f) Exercises:

A3 Monster Class Worksheet: Adding Methods (KS4)
 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

Class 59 (2 Oct 2024) - Group 2

 

a) Class Summary:

  • Discussion on Inheritance: Ahmed explained the concept of inheritance in object-oriented programming, focusing on how classes can inherit attributes and methods to promote efficient code reuse.

  • Exploration of AI Tools: The class explored the potential of AI tools like ChatGPT to assist in studying, generating practice questions, and summarizing key concepts.

  • Ethical AI Usage: Ahmed emphasized the importance of verifying AI-generated content against course materials and discussed the ethical considerations when using AI in education.

  • Strategies for Exam Preparation: The session also covered strategies for preparing for exams, including using AI responsibly and focusing on understanding core concepts rather than just memorizing answers.

 

b) Video (Group 2 - Wednesday):

Part 1: Understanding Inheritance in Object-Oriented Programming

- Part 2: Using ChatGPT as a Study Tool

 

d) Files:

Creating a Monster Class in Python 

Inheritance in Python: Example with Animal and Pet Classes

 

e) Class Code:

- n/a

 

f) Exercises:

- Writing a Friend Subclass in Python

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

Class 60 (9 Oct 2024) - Group 2

 

a) Class Summary:

  • Introduction of a new class called "Monster" and its attributes (Name, Health, Merge with Tick).
  • Discussion on the relationships between "Jeter," "Walster," and "Friboll" and their role in the "Monster" class.
  • Emphasis on understanding the concept's story before diving into coding, with more explanations to follow in the next lesson.

 

b) Video (Group 2 - Wednesday):

Part 1: Exploring the 'Monster' Class and Its Relationships

 

d) Files:

Inheritance in Python: Example with Animal and Pet Classes (Completed)

 

e) Class Code:

- n/a

 

f) Exercises:

Writing a Friend Subclass in Python

 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

Note: The previous class was intentionally canceled due to one student not completing the homework and another not attending.

 

Class 61 (23 Oct 2024) - Group 2

 

a) Class Summary:

  • Data and Process Separation: Ahmed and the teacher emphasized the importance of separating data types and processes to improve efficiency in coding and system design, particularly regarding Arabic and non-Arabic data.

  • Coding Principles: The discussion included separating concerns in coding through distinct classes to enhance maintainability, underscoring the need for concise code and avoiding unnecessary duplication.

  • Next Steps Identified: Actionable tasks were outlined, including Ahmed designing a hotel booking system as a coding exercise, the teacher reviewing object-oriented programming concepts, and both preparing materials for future lessons on data analysis.

 

b) Video (Group 2 - Wednesday):

Part 1: Discussion on Data Separation and OOP Programming Concepts

 

d) Files:

- n/a

 

e) Class Code:

- Vehicle Types and Engine Implementation

 

f) Exercises:

- Develop a hotel booking system utilizing object-oriented programming principles through the implementation of classes and objects.

 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

Class 62 (30 Oct 2024) - Group 2

 

a) Class Summary:

  • Client Problem-Solving Simulation: Ahmed presented scenarios where students practiced identifying client problems, like hotel security issues, and developing solution strategies to reinforce active listening and analytical thinking.

  • Addressing Coding Challenges: Ahmed and the participant resolved coding difficulties, focusing on fixing syntax issues and modifying code structure. They explored the @property decorator to implement cleaner and more intuitive setters and getters for class methods, demonstrating how this approach enhances encapsulation and code readability.

  • File Management Techniques: Practical demonstrations included file management and editing best practices, such as copying, pasting, creating files, and ensuring consistent formatting.

  • Hexadecimal and Color Representation: Ahmed explained the process of converting decimal numbers to hexadecimal for color coding in web design, highlighting its relevance in UI/UX development.

  • Personal Advice: Ahmed advised students to focus on understanding the reasoning behind the use of coding practices like @property for setters and getters, as this leads to better code structure and maintenance. Prioritizing comprehension over rote learning was emphasized for long-term success in programming.

b) Video (Group 2 - Wednesday):

Part 1: Interactive Problem Solving, Programming Concepts, and @property Decorator Use with Ahmed

 

d) Files:

OOP Decorators and Class Methods

 

e) Class Code:

- n/a

 

f) Exercises:

- Write the Class Color code and understand 

 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

Class 63 (13 Nov. 2024) - Group 2

 

a) Class Summary:

  • Introduction to Class Structures and Variables
    Ahmed introduces the basics of classes in Python, explaining the purpose and use of class variables. This section provides foundational knowledge for understanding object-oriented programming.

  • Inheritance and Class Relationships
    They explore class inheritance, demonstrating how subclassing works and how it can simplify code reuse and structure. Ahmed uses examples to clarify how parent-child relationships operate within class hierarchies.

  • Using the __str__ Method for Readable Outputs
    Ahmed explains the purpose of the __str__ method in making class instances more readable and user-friendly. Through examples, he shows how to customize this method for improved output representation.

  • Coding Best Practices: Formatting and Commenting
    Tips on writing clean, readable code are shared, including the importance of formatting, commenting, and debugging practices that make code easier to maintain and understand.

  • Personal Advice for Learning and Growth
    Ahmed encourages Abad to practice regularly, stay patient, and keep a growth mindset. He emphasizes the importance of learning from mistakes and viewing each challenge as a step toward mastering programming concepts.

 

b) Video (Group 2 - Wednesday):

Part 1 Mastering Python Classes: Class Variables, Inheritance, and the __str__ Method

 

d) Files:

- n/a

 

e) Class Code:

- Method Overriding in Contact Class

 

f) Exercises:

- Hotel / Rooms Class design (Old Home work)
-  Method Overriding in Contact Class (Write & Understand)

 

g) Twitter (X) link:

- Group 2 - homework: Not available (n/a) 

 

 

Official Partners Recommendation


Enhance Your Learning Experience with Our Official Partners

To help you further in your educational journey, we highly recommend our official partners who provide exceptional services and resources:


1. Udacity - Advance Your Tech Knowledge Are you a student looking to boost your tech and business skills? Udacity's Nanodegree programs are perfect for you! These industry-recognized courses can help you become a data scientist, AI expert, or digital marketer. Get the skills you need to stand out and succeed in your future career.

Explore Udacity Courses


2. Coursera - World-Class Education Online Are you a student eager to learn new skills and advance your education? Coursera partners with top universities and organizations worldwide to offer online courses, specializations, and even degrees. Whether you're interested in computer science or personal development, Coursera has a wide range of subjects to help you achieve your learning goals. Start learning today and take your education to the next level!

Discover Coursera Courses


3. HostRound - Reliable Web Hosting Services Are you a student looking for reliable and affordable web hosting for your websites and applications? HostRound has got you covered! With 24/7 customer support, high uptime, and a variety of hosting plans, HostRound ensures your online projects are secure and run smoothly. Get started with HostRound and keep your online presence strong and efficient.

Check Out HostRound Hosting Plans


4. Envato - Premium Digital Assets and Creative Services Are you a computer student looking to enhance your projects with high-quality materials? Envato offers a wide range of digital assets and creative services, including website themes, graphic templates, audio files, and stock videos. It's the perfect resource to take your work to the next level. Get the best tools and resources with Envato to make your projects stand out!

Explore Envato Market


5. PIA VPN - Secure Your Online Activities As a computer student, safeguarding your online privacy is crucial. With Private Internet Access (PIA) VPN, you can protect your personal data and access restricted content securely. PIA VPN uses robust encryption protocols and a strict no-logs policy to ensure your browsing history and personal information stay confidential. Keep your online activity private and secure with PIA VPN.

Learn More about PIA VPN