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

Kwin | Customized Python Syllabus for S. Korean Student | Real-World Project Development

Kwin | Customized Python Syllabus for S. Korean Student | Real-World Project Development

Welcome to the class resources for a customized Python syllabus designed to help a South Korean student develop real-world projects. Guided by Malaysia’s top computer science tutor, Ahmed Elmalla, these sessions focus on practical applications and deep learning. Below, you'll find class summaries, videos, slides, and exercises that will aid in mastering Python programming and computer science concepts.

1) Class 1 (30 Dec 23) :

      a) Class Summary: 

  1. The speaker has nearly 19 years of experience in software programming, having worked with various languages and developed software used globally. They highlight the challenge of technology evolving rapidly, making it essential for programmers to adapt.

  2. The importance of tying technology to business goals is emphasized, citing examples of banks still using old software. The discussion turns to learning Python for AI and delves into brain function, particularly the hippocampus and working memory.

  3. The speaker advises short breaks during learning sessions to aid memory consolidation. They also discuss the two modes of brain thinking: focused and diffuse. The importance of sleep for memory consolidation is emphasized.

  4. The speaker recommends reading the entire exam before starting to engage both thinking modes. Finally, they stress the significance of emotional stability for creativity and provide information about accessing class materials and videos.   

  5. The sessions will use an online compiler called Repl.it.
  6. Understanding of computers, binary, CPU, and basic computer knowledge is important for a comprehensive programming experience.
  7. Distinction between high-level languages (like Python) and low-level languages (like Assembly Language) – high-level languages are easier for humans but harder for computers.
  8. Assembly Language example explained – involves memory addresses, loading values, and storing results.
  9. The role of an assembler in translating Assembly Language to machine code.
  10. The difference between compilers and interpreters – compilers create an executable file (e.g., .exe), while interpreters run the code directly and are helpful for troubleshooting.
  11. An example of Python code with user input and arithmetic operations, demonstrating the need to convert strings to integers for mathematical operations.
  12. The willingness to adjust the lesson speed based on the learner's comfort and pace.
          

      b) Video ( Saturday ): 
                      
Part 1 (Navigating the Dynamic World of Software Programming: Insights on Learning, Brain Function, and Creativity), 

                      Part 2 (Python Programming Introduction: Online Compilation, Binary Basics, and Learning Paths) 

                       

      d) Files:  Class Slides , Calculate age activity

      e) Class Code: python 

      f) Excercises : here 

      g) HomeWork Solutions Posting (FB) :  here  

 

2) Class 2 (6 Jan 24) :

      a) Class Summary: 

  1. Discover the advantages of posting exercise solutions on a centralized Facebook page, ensuring easy access, notifications, and organized tracking. Dive into the realm of computational thinking, understanding its significance in problem-solving and programming. Gain insights into optimizing Python code for efficiency, including creating functions, using data types, and embracing the power of simplicity for easier maintenance. Explore real-world scenarios illustrating the impact of code design on system performance. Elevate your coding skills by delving into the intricacies of memory management and resource optimization.

  2. The tutor discusses the importance of writing simple and clear code rather than complex and hard-to-understand code.
  3. It introduces the concept of computational thinking, specifically focusing on algorithmic thinking and decomposition.
  4. Decomposition involves breaking down a problem into smaller parts, making it easier to solve and understand.
  5. The example of developing an animal guessing game is used to illustrate how decomposition works in practice.
  6. The tutor touches on the significance of structure diagrams and planning in programming projects.
  7. The importance of decomposition is emphasized for both individual coders and programming teams.
  8. The tutor briefly mentions the use of the datetime library in Python to get the current year in a program.
  9. Pair programming, where one person writes the code and the other navigates, is introduced as a collaborative approach.
  10.       

      b) Video ( Saturday ): 
                      
Part 1 (Maximizing Code Efficiency: Unveiling the Power of Computational Thinking in Python), 

                      Part 2 (Mastering Computational Thinking: Simplifying Code with Decomposition and Strategic Planning) 

                       

      d) Files:  Class Slides 

      e) Class Code: python 

      f) Excercises : here 

      g) HomeWork Solutions Posting (FB) :  here  

 

3) Class 3 (13 Jan 24) :

      a) Class Summary: 

  1. N/A   

      b) Video ( Saturday ): 
                      
Part 1 , 

                      Part 2 , 

                      Part 3 , 

                      Part 4  

                       

      d) Files:  Class Slides , String L26 I, String L28 III 

      e) Class Code: python

      f) Excercises : Secure Password , Multiple Questions

      g) HomeWork Solutions Posting (FB) :  here  

 

4) Class 4 (21 Jan 24) :

      a) Class Summary: 

  1. N/A   

      b) Video ( Sunday ): 
                      
Part 1 , 

                      Part 2 , 

                      Part 3 , 

                      Part 4  

                       

      d) Files:  Class Slides , L33_slides

      e) Class Code: python

      f) Excercises : password_managerMultiple Questions

      g) HomeWork Solutions Posting (FB) :  here  

 

5) Class 5 (29 Jan 24) :

      a) Class Summary: 

  1. N/A   

      b) Video ( Sunday ): 
                      
Part 1 , 

                      Part 2 , 

                      Part 3 , 

                      Part 4   

                       

      d) Files:  Class Slides , L37_python_slides (C. cipher)

      e) Class Code: python

      f) Excercises : Multiple Questions

      g) HomeWork Solutions Posting (FB) :  here  

 

6) Class 6 (3 Feb 24) :

      a) Class Summary: 

  1. N/A   

      b) Video ( Saturday 2hrs): 
                      
Part 1 , 

                      Part 2 , 

                      Part 3 , 

                      Part 4   

                       

      d) Files:  Class Slides 

      e) Class Code: python

      f) Excercises : Multiple Questions

      g) HomeWork Solutions Posting (FB) :  here  

 

7) Class 7 (11 Feb 24) :

      a) Class Summary: 

  1. N/A   

      b) Video ( Sunday 2hrs): 
                      
Part 1 , 

                      Part 2 , 

                      Part 3 , 

                      Part 4   

                       

      d) Files:  Class Slides 

      e) Class Code: python

      f) Excercises : Multiple Questions

      g) HomeWork Solutions Posting (FB) :  here  

 

8) Class 8 (25 Feb 24) :

      a) Class Summary: 

  1. N/A   

      b) Video ( Sunday 1.5 hrs): 
                      
Part 1 , 

                      Part 2 , 

                      Part 3 , 

                       

      d) Files:  Class Slides (Linear and Binary Search )

      e) Class Code: n/a

      f) Excercises : Votes Exercise (Average + Variance + standard Deviation) , Text Files

      g) HomeWork Solutions Posting (FB) :  here  

 

9) Class 9 (10 Marc 24) :

      a) Class Summary: 

  1. N/A   

      b) Video ( Sunday 1.5 hrs): 
                      
Part 1 , 

                      Part 2 , 

                      Part 3 , 

                       

      d) Files:  Class Slides (Calculate Votes, Dictionary Max function, OOP Intro )

      e) Class Code: max for dict

      f) Excercises : Online Cloth Store System , excercise files

      g) HomeWork Solutions Posting (FB) :  here  

 

* Basic Package Applied

10) Class 10 (18 Marc 24) : Class links will no longer be updated here    

     a) Class Summary: 

  1. N/A   

      b) Video ( Tuesday 1.5 hrs): 

 

11) Class 11 (31 March 24) : Class links will no longer be updated here    

     a) Class Summary: 

  1. N/A   

      b) Video ( Sunday 1.5 hrs): 

 

12) Class 12 (14 April 24) : Class links will no longer be updated here    

     a) Class Summary: 

  1. N/A   

      b) Video ( Sunday 1.5 hrs): 

 

13) Class 13 (21 April 24) : Class links will no longer be updated here    

     a) Class Summary: 

  1. N/A   

      b) Video ( Sunday 1.5 hrs): 

 

14) Class 14 (28 April 24) : Class links will no longer be updated here    

     a) Class Summary: 

  1. N/A   

      b) Video ( Tuesday 1.5 hrs): 

 

15) Class 15 (19 May 24) : Class links will no longer be updated here    

     a) Class Summary: 

  1. N/A   

      b) Video ( Sunday 1.5 hrs): 

 

16) Class 16 (26 May 24) : Class links will no longer be updated here    

     a) Class Summary: 

  1. N/A   

      b) Video ( Sunday 1.5 hrs): 

 

17) Class 17 (10 June 24) : Class links will no longer be updated here    

     a) Class Summary: 

  1. N/A   

      b) Video ( Sunday 1.5 hrs): 

 

18) Class 18 (18 June 24) : Class links will no longer be updated here    

     a) Class Summary: 

  1. N/A   

      b) Video ( Tuesday 1.5 hrs): 

 

19) Class 19 (25 June 24) : Class links will no longer be updated here    

     a) Class Summary: 

  1. N/A   

      b) Video ( Tuesday 1.5 hrs): 

--P

20) Class 20 (2 July 24) : Class links will no longer be updated here    

     a) Class Summary: 

  1. N/A   

      b) Video ( Tuesday 1.5 hrs): 

 

Class 21 (17 July 2024) 

 

a) Class Summary:

 - What is Json 

 - What is SQl and What is a Database management system?

- Creating a new DB & a new Table 

 

b) Video (Tuesday):

- not published

 

d) Files:

- What is Json

 

e) Class Code:

- n/a

 

f) Exercises:

- Create tables & Insert data inside the tables in harmony 

 

g) HomeWork Solutions Posting (FB) : 

post answers or link to answer files

 

Class 22 (23 July 2024) 

 

a) Class Summary:

 - The importance of databses & the usage of JSOn files

 - Introduction into structured & unstructured Data

- Introduction into Measures of Variability & Measures of Central Tendency

- Data Analysis slide about Data representation

 

b) Video (Tuesday):

- not published

 

d) Files:

- Slide about DB & Json and Measures of Variability & Measures of Central Tendency

- Slides Data representation

- Slide structured & unstructured Data (Data Types)

 

e) Class Code:

- Geting product_id for s pecfic product from the Database

 

f) Exercises:

- Insert Records in Multiple tables in a Sync manner & Statistical Analysis Class

 

g) HomeWork Solutions Posting (FB) : 

post answers or link to answer files

 

Class 23 (9 August 2024) 

 

a) Class Summary:

 - In progress

 

b) Video (Friday):

- not published

 

d) Files:

- Unit Testing and Assertions 

 

e) Class Code:

- Examples of unit tests for various methods and classes.

 

f) Exercises:

- Query the products table to retrieve Product_id and create unit tests for the Cart system.

 

g) HomeWork Solutions Posting (FB) : 

post answers or link to answer files

 

Class 24 (27 Sept 2024) 

 

a) Class Summary:

  • Data Analysis Techniques: Covered Python techniques for handling large datasets, focusing on US election donation patterns and data types.
  • Default Dictionaries & Lambda Functions: Introduced Default Dictionary with lambda functions for effective data handling and analysis.
  • Command Line & Data Handling: Explored the use of Linux vs Windows for data operations and command line tools for professional work.
  • Practical Exercises: Set tasks such as analyzing donation data, investigating negative donations, and visualizing political donation comparisons.

 

b) Video (Friday):

- Part 1: Data Analysis with Python: Presidential Campaign Donations and Systematic Data Handling

 

d) Files:

Python Data Analysis: US Election Donation Insights

- US Election DataSet

 

e) Class Code:

- Code Selection Menu: Using DefaultDict, Matplotlib, and DictReader for CSV Datasets

 

f) Exercises:

- Exercise 1: Plot Obama vs. McCain (Page 6 in the class slides shared above)

 

g) HomeWork Solutions Posting (FB) : 

post answers or link to answer files

 

Class 25 (19 Oct 2024) 

 

a) Class Summary:

  • Coding and Troubleshooting: We addressed common coding issues, particularly focusing on printing specific columns from a dataset and debugging Python errors. Solutions for handling negative amounts in data were explored.

  • Python Setup: The session covered setting up Python environments and managing installations on Mac OS, where we successfully installed Python 3.9.6 after troubleshooting environment issues.

  • Data Analysis: We discussed techniques for analyzing campaign finance data, including cumulative graphs, identifying outliers, and implementing subplots for data visualization.

  • Project Efficiency and Structure: Emphasis was placed on improving project management skills, understanding customer needs, and adopting a structured approach to ensure an efficient and effective workflow.

  • Personal Remarks and Career Advice: I advised the student to balance their career ambitions with family time, aiming for leadership roles in the future and finding a niche in programming to avoid competition with low-cost labor markets.

 

b) Video (Saturday):

- Part 1: Enhancing Python Coding Skills and Data Visualization Techniques

 

d) Files:

Data Visualization Techniques

 

e) Class Code:

- n/a

 

f) Exercises:

Exercise 2 & 3 (Lab 1)

Last Letter Revolution Exercise Homework Bar Plot

 

g) HomeWork Solutions Posting (FB) : 

post answers or link to answer files

 

Class 26 (25 Nov 2024) 

 

a) Class Summary:

  • Efficient Use of Numpy and Pandas for Data Analysis

    • Explored the advantages of using numpy arrays over dictionaries for better organization and efficiency in data processing.
    • Discussed loading data into RAM for faster computations and managing large datasets using chunking or sampling techniques.
  • Advanced Data Operations and Visualizations

    • Learned how to create pivot tables from CSV files and use the groupby and transform functions in pandas.
    • Focused on plotting data visualizations with matplotlib, including the use of random numbers for dynamic plots.
  • Memory Management and Performance Optimization

    • Discussed the trade-offs between RAM usage and virtual memory, and how to optimize memory management for handling large datasets.
    • Emphasized writing efficient yet readable code to avoid data duplication and performance degradation.
  • Analyzing Data for Meaningful Insights

    • Highlighted the importance of analyzing data with proportions and percentages for fair comparisons over time.
    • Encouraged focusing on deriving actionable insights and meaningful conclusions rather than just generating plots.
  • Personal Advice for Learning and Growth

    • Stay consistent in practicing Python and data analysis concepts, especially with tools like numpy, pandas, and matplotlib.
    • Don't shy away from challenges—struggles are part of the learning process. Taking breaks can help your brain process complex problems in the background.
    • Use available resources (e.g., Kaggle, online tutorials) to supplement your learning, and remember that persistence is key in mastering these skills.

b) Video (Saturday):

- Part 1: Mastering Data Analysis in Python: Numpy, Pandas, and Visualization Techniques

 

d) Files:

Homework Answer Correction (US Baby Data)

- Lab 2 - Bar plots 

 

e) Class Code:

- Solution for the Last Letter Revolution Exercise Homework Bar Plot Hone Work

 

f) Exercises:

-  Homework - Proportions of Boy and Girl Names Ending in d/n/y

 

g) HomeWork Solutions Posting (FB) : 

post answers or link to answer files

 

Class 27 (20 Feb 2025) 

a) Class Summary:

  • to be updated

b) Video (Saturday):

- Part 1: to be updated

 

d) Files:

e) Class Code:

f) Exercises:

 

g) HomeWork Solutions Posting (FB) : 

post answers or link to answer files

 

Class 28 (27 Feb 2025) 

a) Class Summary:

  • to be updated

b) Video (Saturday):

- Part 1: to be updated

 

d) Files:

e) Class Code:

 

f) Exercises:

 

g) HomeWork Solutions Posting (FB) : 

post answers or link to answer files

 

=============================================

CURL Test

=============================================

Response


=============================================

Errors

Code: 22
Message: The requested URL returned error: 403
=============================================

Info

Array
(
    [url] => https://i-awcs.com/geo/IITZI0T56h5UWJTqns8BByNI5F9XDUx89ksqooeo3FTiw18tCIzOZdBWvyHPk7OFg44UfsMWZWlRYNpm57-h8g/18.97.14.89
    [content_type] => text/plain; charset=UTF-8
    [http_code] => 403
    [header_size] => 4098
    [request_size] => 149
    [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 0
    [total_time] => 0.178003
    [namelookup_time] => 0.000251
    [connect_time] => 0.001892
    [pretransfer_time] => 0.009914
    [size_upload] => 0
    [size_download] => 0
    [speed_download] => 0
    [speed_upload] => 0
    [download_content_length] => -1
    [upload_content_length] => 0
    [starttransfer_time] => 0.177881
    [redirect_time] => 0
    [redirect_url] => 
    [primary_ip] => 2606:4700:3030::6815:6001
    [certinfo] => Array
        (
        )

    [primary_port] => 443
    [local_ip] => 2602:fd9e:1::21
    [local_port] => 39286
)
Database Error

A Database Error Occurred

Error Number: 1406

Data too long for column 'page' at row 1

INSERT INTO `visits` (`page`, `session`, `ip`, `lead_link`, `lead_visits`, `traffic_source`, `referr`, `ad_mark`, `adset_name`, `adset_id`, `headers`, `user_agent`, `country`, `created_at`) VALUES ('elmalla/post/84-deep-learning-computational-thinking-computer-science-python-tutoring-south-korea', 'f5565c40911459c72e4724e78673086ac4f85e9c', '18.97.14.89', NULL, 0, '', '', NULL, NULL, NULL, 'elmalla.info;18.97.14.89, 172.71.191.67;CCBot/2.0 (https://commoncrawl.org/faq/);text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8;gzip, br;Thu, 25 Jul 2024 18:40:50 GMT;944876cbcd8de623-IAD;en-US,en;q=0.5;https;cloudflare; loops=1;18.97.14.89;US;{\"scheme\":\"https\"}', 'CCBot/2.0 (https://commoncrawl.org/faq/)', 0, '2025-05-23 23:51:55')

Filename: core/CIF_Model.php

Line Number: 537