PYTHON PROGRAMMING
- Course
- ITSE224 - PYTHON PROGRAMMING
- Department
- Information Technology Security - English - Undergraduate
- Course Type
- Course
- Status
- Required
- Language
- English
- Credit
- 3
- ECTS
- 7
- T+P+L
- 3 + 0 + 0
- Course Coordinator(s)
- -
- Prerequisite
- -
- Keywords
Course Description
This course is designed to provide students with a thorough understanding of Python, a leading programming language in the tech industry. The course aims to equip students with fundamental programming skills through a structured yet flexible curriculum. Students will cover core topics including variables, data types, control structures, and functions, while engaging in hands-on projects that simulate real-world applications. The course emphasizes critical thinking, problem-solving, and coding best practices. As students progress, they will develop the ability to write efficient and effective Python code. By completion of the course, students will have gained practical experience and confidence in their programming abilities, preparing them for advanced studies or professional opportunities in software development. Completion of the course requires a final project, which students will present in a comprehensive oral presentation and submit as a formal report.
PYTHON PROGRAMMING
Evaluation Tools (Active Term)
No evaluation items have been defined.
Course outcomes
No course outcomes have been defined yet.
Course Syllabus
| Week | Topic |
|---|---|
| Week 1 | Introduction to Python Programming |
| Week 2 | Data Analysis with Pandas and Numpy |
| Week 3 | Data Visualization with Matplotlib & Seaborn |
| Week 4 | Data Analysis with Scikit-learn (Intro to Machine Learning) |
| Week 5 | Web Development with Flask: Introduction |
| Week 6 | Web Development with Flask: Forms, Templates |
| Week 7 | Web Development with Flask: Application Structure |
| Week 8 | Automation and Scripting : File Operation, Automating Tasks, Web Scraping |
| Week 9 | Automation and Scripting : Web Scraping, Scheduling jobs |
| Week 10 | Midterm Exams |
| Week 11 | Midterm Exams |
| Week 12 | Automation and scripting: Email Automation |
| Week 13 | Project Presentation |
| Week 14 | Project Presentation |
| Week 15 | Revision |
Reference Books & Course Materials
- 01 Python for data analysis: Data wrangling with pandas, numpy, and jupyter. McKinney, W. (2022), O'Reilly Media, Inc.
- 02 Automate the boring stuff with Python, Sweigart, A. (2025).
- 03 Flask Web Development: Developing Web Applications with Python. 2018. Grinberg, M URL http://flaskbook. com.
Learning Outcomes
- L01 Demonstrate and apply coding best practices to produce clean, efficient, and well-documented Python code. SOLO 4
- L01 Apply and execute Python tools to automate tasks and workflows, including file handling, scheduling, and command-line operations SOLO 3.5
- L02 Apply and implement Python-based solutions to real-world problems in automation, scripting, and software development SOLO 4
- L03 Implement and analyze data using Python-based techniques with core libraries such as NumPy, pandas, and Matplotlib. SOLO 4
- L04 Design and develop modular Python programs by synthesizing functions, classes, and appropriate data structures. SOLO 3
- L05 Design and develop modular Python programs by synthesizing functions, classes, and appropriate data structures. SOLO 5
- L07 Analyze and review Python code using testing techniques and performance evaluation tools to identify and resolve errors SOLO 4
- L08 Perform and conduct collaborative work within team-based programming projects that simulate professional development environments SOLO 3.5
- L09 Explain and summarize the results of programming projects, relating findings to project objectives, through structured oral presentations and written reports SOLO 3.5
Program Outcomes
- P01 Be able to understand and apply security protocol and tools to security challenges faced in organizations
- P02 Be able to design security software to combat security issues
- P03 Be able to identify, categorize, and develop security solutions for computer orientated challenges.
- P04 Be able to demonstrate autonomy and responsibility in managing computer security projects
- P05 Be able to follow the state of the arts concepts in computer technology security
- P06 Be able to design, implement, and evaluate a computational system to meet desired security needs within realistic constraints
- P07 Be able to use appropriate security techniques, protocols, skills, and tools necessary for securing computer systems
- P08 Be able to apply effective communication skills consistent with the professional environment
- P09 Be able to apply effective collaboration skills in teamwork consistent with the professional environment
- P10 Be able to apply appropriate security technology and techniques to facilitate a safe operation in an organization
Po-Lo Matrix
| LO | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | P09 | P10 | Average |
|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | 1 | 2 | 5 | 2 | 4 | 2 | 3 | 5 | 3 | 2 | 2.9 |
| L01 | 4 | 2 | 0 | 2 | 3 | 2 | 2 | 3 | 4 | 2 | 2.4 |
| L02 | 4 | 3 | 3 | 4 | 3 | 4 | 3 | 4 | 3 | 3 | 3.4 |
| L03 | 3 | 2 | 3 | 4 | 2 | 2 | 3 | 3 | 2 | 3 | 2.7 |
| L04 | 2 | 3 | 3 | 2 | 2 | 4 | 2 | 3 | 3 | 2 | 2.6 |
| L05 | 2 | 3 | 3 | 2 | 4 | 3 | 3 | 2 | 3 | 2 | 2.7 |
| L07 | 3 | 2 | 3 | 4 | 3 | 3 | 2 | 4 | 3 | 2 | 2.9 |
| L08 | 3 | 2 | 3 | 3 | 2 | 2 | 3 | 2 | 3 | 3 | 2.6 |
| L09 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 4 | 3 | 2.7 |