Institution Name Document No.
የኢፌዴሪ ቴ/ሙ/ስ ኢንስቲትዩት OF/FTI/AC/11
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Curriculum 2 Page 239
of 444
Table 41: Advanced Programming
II-2. COURSE PROFILE FOR THE PRACTICE-INCLUDED COURSES
TECHNICAL AND VOCATIONAL TRAINING INSTITUTE
Faculty of Electrical Electronics and ICT Department: Information Technology
Program Cybersecurity Technology
1. Instructor/s (teaching team members) Information
T
Instructor Information Other teaching team member information
Name [Link] Babu.B Role
Office Location B2-Room No:204
e
Name
Phone Number +251 944295807 Office Location
E-mail ravindrababu4u@[Link] Phone no. & Email
Office Hours Office Hours
2. Course Information
Course Name/Title Advanced Programing with python
Course Code ITec 2035
Credit hours 3 Cr. Hrs /5 ECTS
Pre-requisite, Fundamentals of Networking (IT 2031)
and/or other
restrictions
Workload Lecture Tutorial Lab. Home study Assessment Total
32 ------ 48 45 10 135
Target group 2nd year studentss
Semester Semester II
Course of delivery Semester based
Status of the course Major
3. Course Description and Objectives
Course This course provides an in-depth exploration of Python programming beyond the fundamentals,
Description: focusing on advanced concepts, problem-solving, and application development. Students will learn
to design modular, efficient, and reliable programs using advanced features of Python such as
object-oriented programming, exception handling, file I/O, concurrency, regular expressions,
database connectivity, and network programming. The course emphasizes hands-on practice
through weekly coding exercises and projects, enabling students to apply Python in real-world
Year of Excellence 2.0
Institution Name Document No.
የኢፌዴሪ ቴ/ሙ/ስ ኢንስቲትዩት OF/FTI/AC/11
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Curriculum 2 Page 240
of 444
contexts such as data management, web communication, and software systems development.
Course Objectives:
Apply advanced Python programming foundations including control flow, functions, modules, and
data structures to solve computational problems.
Develop robust and error-tolerant programs by implementing exception handling, debugging, and
testing techniques.
Design modular and reusable software systems using Object-Oriented Programming (OOP)
principles such as encapsulation, inheritance, and polymorphism.
Manage data effectively through file handling, serialization, and integration with relational
databases (MySQL/SQLite/Oracle).
Utilize advanced programming techniques such as multithreading, multiprocessing, and regular
expressions for performance optimization and text processing.
Build and deploy real-world applications by developing client-server systems using socket
programming and handling basic HTTP requests.
.
4. Method of Instruction
Class lectures 2 hours per week using PowerPoint presentations, case studies and demonstrations.
Lab 3 hours every alternate week, involving complex configurations and implement python in
development of segment of system codes.
Study of lecture Students review lecture notes and reference books and materials. .
notes
Demonstrations Showcases of real-world applications using python.
Lab assignments Practical exercises to create a menu-driven application using loops, conditionals, and functions.
Group Assignment Collaborative project to design and deploy an application using python.
Ind Assignment Working on Multithreaded program to download multiple files simultaneously includes progress
tracking and exception handling.
Capstone Project: Design and implementation by Integrating Application (Database + Network + OOP +
Concurrency), example Online Library System or Multi-client Chat App with database backend.
5. Course Learning Outcomes (CLO)
5.1. Knowledge: - After completing this course, students will be able to:
# Course Learning outcome Bloom‘s Taxonomy
Year of Excellence 2.0
Institution Name Document No.
የኢፌዴሪ ቴ/ሙ/ስ ኢንስቲትዩት OF/FTI/AC/11
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Curriculum 2 Page 241
of 444
CLO1 Explain advanced Python programming concepts including control flow, Understanding
functions, data structures, and object-oriented principles.
CLO2 Describe secure coding practices such as exception handling, input validation, Analyzing
and error management.
CLO3 Explain the role of regular expressions, databases, and network programming in Evaluating
automating cybersecurity tasks.
CLO4 Identify potential security risks in Python applications (e.g., SQL injection, Analyze
unsafe serialization, unvalidated input).
5.2. Practical skills Blooms alignment
CLO5 Develop secure Python programs that apply control flow, functions, and modular Create
design to solve cybersecurity-related problems
CLO6 Implement robust error-handling mechanisms and custom exceptions to improve Applying
reliability of security applications.
CLO7 App Build multithreaded and multiprocessing tools for security tasks such as port Creating
scanning, brute-force testing, and log analysis.
Apply file handling and serialization techniques to securely manage and persist Apply
CLO8
security event data.
Design modular and reusable security applications using OOP principles (e.g., Creating
CLO9
RBAC systems, IDS prototypes).
Integrate Python with relational databases to securely store and retrieve sensitive Apply
CLO10
data using parameterized queries.
Develop secure network-based applications using Python sockets to implement Creating
CLO11
client-server communications and packet sniffers
5.3. Attitudee
Demonstrate professional responsibility in writing secure, efficient, and Valuing
CLO12
maintainable Python code.
Exhibit ethical awareness in developing cybersecurity tools, ensuring they are Characterizing
CLO13
applied responsibly and legally.
7. Mapping of the course Learning Outcomes to the program Learning Outcomes, Teaching Methods : Lecture(L),
Practical (P)Tutor(T)), and Assessment: Practical test (PT), Written test(Test), Assignment (Ass) and quiz (quiz)
Program Learning Outcomes (PO)
Course PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 Training Assessment
Learning Methods methods
Outcomes
(CLO) L P T PT T A Q
CLO1 √ √
Year of Excellence 2.0
Institution Name Document No.
የኢፌዴሪ ቴ/ሙ/ስ ኢንስቲትዩት OF/FTI/AC/11
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Curriculum 2 Page 242
of 444
CLO2 √ √
CLO3 √ √ √ √ √
CLO4 √ √
CLO5 √ √
CLO6 √ √
CLO7 √ √ √ √ √ √
CLO8 √ √ √
CLO9 √ √ √ √ √
CLO10 √ √ √
CLO11 √ √ √ √ √ √
CLO12 √ √
CLO13 √ √ √ √
7. Detailed Course Outline
Week Topics to be covered (2 lecture hours) Practical Topics to be covered in 3 Outcomes Required materials
lab hours matrix
/equipment/devices
Chapter 1: Python Programming Foundations
Computer/Laptop
Writing programs to calculate
Summary on Introduction to Python with Python 3.x
factorials generate multiplication
installed
Important Programming Basics in Python tables. CLO1,
1 IDE: VS Code,
Loops and Control Statements Write a password strength checker CLO4
PyCharm, or Jupyter
(loops, conditionals) that evaluates
Break & Continue Statements Notebook
weak vs. strong passwords.
Functions, Modules & Modules and Importing math, random, create
Libraries custom module. Computer/Laptop
with Python 3.x
Data structure Storing student names and scores installed
CLO1,
2 using lists/dictionaries.
CLO4 IDE: VS Code,
Build a file integrity checker using PyCharm, or Jupyter
hashing (hashlib), with functions to Notebook
compare before/after states of files.
Chapter Two: Exception Handling
Basics of Exception Handling Create a safe calculator that handles CLO1, Computer/Laptop
3 division by zero and invalid input. CLO4 with Python 3.x
Raising exceptions installed
Implement a secure login system that
Year of Excellence 2.0
Institution Name Document No.
የኢፌዴሪ ቴ/ሙ/ስ ኢንስቲትዩት OF/FTI/AC/11
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Curriculum 2 Page 243
of 444
Handling exceptions handles invalid inputs, wrong IDE: VS Code,
password attempts, and lockouts with PyCharm, or
Using try, except, finally
exceptions. Jupyter Notebook
Advanced Exception Handling Building a Library Management CLO2, Computer/Laptop
System with custom exceptions (e.g., CLO6 with Python 3.x
Creating custom exceptions
book unavailable). installed
4 Practical exercises and mini-projects
Create a file access monitor that IDE: VS Code,
raises custom exceptions for PyCharm, or
unauthorized access attempts. Jupyter Notebook
Chapter Three: Concurrency and Parallelism
Multithreading in Python Multithreaded countdown/timer app. CLO1, Computer/Laptop
CLO4 with Python 3.x
Creating threads Develop a multi-threaded port
installed
5 scanner to identify open ports on a
Thread synchronization
target system. IDE: VS Code,
PyCharm, or
Jupyter Notebook
Advanced Concurrency Multiprocessing: Word count in large CLO2, Computer/Laptop
text files or computational tasks. CLO6 with Python 3.x
Multiprocessing Module
installed
Write a brute-force password
cracker simulator using IDE: VS Code,
multiprocessing for faster execution. PyCharm, or
6
Jupyter Notebook
Sample datasets for
multiprocessing
tasks (e.g., large
text files)
Chapter Four: File Handling & Serialization
File Handling Store student or employee data. CLO1, Computer/Laptop
CLO4 with Python 3.x
Reading and writing text files Append new entries to existing files.
installed
7 Appending to files Create a secure log parser that scans
IDE: VS Code,
system log files for suspicious login
Writing binary files manually PyCharm, or
attempts and saves flagged entries.
Jupyter Notebook
8 Mid Exam week
Serialization Create file-based Employee Record CLO3, Computer/Laptop
System with backup. CLO7 with Python 3.x
9 Using Pickle to write/read binary files
installed
Serialize and deserialize security
event data (e.g., alerts, log IDE: VS Code,
Year of Excellence 2.0
Institution Name Document No.
የኢፌዴሪ ቴ/ሙ/ስ ኢንስቲትዩት OF/FTI/AC/11
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Curriculum 2 Page 244
of 444
anomalies) for persistence and PyCharm, or
analysis. Jupyter Notebook
Chapter Five: Object-Oriented Programming
Understanding OOP in Python Create a BankAccount class with CLO1, Computer/Laptop
deposit, withdraw, and check balance CLO5 with Python 3.x
Defining and Using Classes
methods. installed
10 Defining and Using Objects
Build a User Role-Based Access IDE: VS Code,
Encapsulation Control (RBAC) system using OOP PyCharm, or
(User, Admin, Guest classes). Jupyter Notebook
Inheritance SavingsAccount and CurrentAccount CLO3, Computer/Laptop
classes. CLO5 with Python 3.x
Polymorphism
installed
Multiple account types with a shared
Accessing Attributes
interface. IDE: VS Code,
11
Built-In Class Attributes PyCharm, or
Implement an Intrusion Detection
Jupyter Notebook
Destroying Objects System (IDS) skeleton: Base class
―Rule‖, subclasses for ―IPRule‖,
―PortRule‖, etc.
Chapter Six: Regular Expressions
Introduction to regular expressions Validate emails, phone numbers, and CLO2, Computer/Laptop
postal codes. CLO6 with Python 3.x
match() and search() functions
installed
Use regex to detect SQL injection,
Matching vs searching
12 XSS payloads, or suspicious URLs IDE: VS Code,
Search & replace, extended regex, from user input or logs. PyCharm, or
wildcard matching Jupyter Notebook
Chapter Seven: Database Connectivity
Understanding Relational Databases Create and connect to a database CLO2, Computer/Laptop
(SQLite/MySQL). CLO6 with Python 3.x
Understanding the Role of SQL
installed
Perform CRUD operations: create
Creating and Connecting to Databases
tables, insert, query, update, delete. IDE: VS Code,
(Oracle/MySQL)
13 PyCharm, or
Create a secure credential storage
Concept of Tables, Fields, and Primary Jupyter Notebook
system with MySQL/SQLite using
Keys
parameterized queries to prevent SQL Installed database:
Creating Tables injection. SQLite/MySQL/Or
acle
Inserting Data into Tables
Year of Excellence 2.0
Institution Name Document No.
የኢፌዴሪ ቴ/ሙ/ስ ኢንስቲትዩት OF/FTI/AC/11
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Curriculum 2 Page 245
of 444
Querying Data using SQL
Deleting Records from Tables
Error Handling
Chapter 8: Network Programming in python.
Introduction to sockets Build a simple client-server chat Computer/Laptop
system using sockets. with Python 3.x
Understanding clients and servers
installed
Connect the client-server app to a
Handling HTTP requests
database for storing messages or user IDE: VS Code,
14 info. PyCharm, or
Jupyter Notebook
Develop a socket-based packet sniffer
or a secure client-server chat app with Networking setup
basic encryption. for client-server
testing
Integrating Python concepts: OOP, File Online Library System or Multi-client CLO6, Computer/Laptop
Handling, Concurrency, Database, Chat App with database backend. CLO8, with Python 3.x
Networking CLO9 installed
Network Monitoring and Alert System
Client-server system with database combining OOP, regex, DB, and IDE: VS Code and
15
integration networking. PyCharm.
Demonstration and evaluation Write a python program that detect Networking setup
suspicious logins, save them in a DB, for client-server
and send alerts to a client dashboard. testing
16 Final Exam week
8. Suggested texts and reference materials
Text Books
Reference Books/Articles
9. Assessment Methods
Type Weight Behavior and Criteria/ Assessment for Learning
Lab Practice Report 20% Submit lab configurations.
Write a python program that detect suspicious logins, save them in a DB, and
Group Assignment 15%
send alerts to a client dashboard.
Year of Excellence 2.0
Institution Name Document No.
የኢፌዴሪ ቴ/ሙ/ስ ኢንስቲትዩት OF/FTI/AC/11
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Curriculum 2 Page 246
of 444
Create a secure credential storage system with MySQL/SQLite using
Individual Assignment 15%
parameterized queries to prevent SQL injection.
Midterm Exam 20% Covers theory and practical questions
Final Exam 30% Comprehensive exam aligned with CLOs and POs
Total 100%
10. Academic Honesty
Academic honesty is a core value of this program. Students are expected to produce original work, properly reference
all sources, and avoid plagiarism, fabrication, or cheating. Violations will be subject to institutional disciplinary
actions.
11. Submission of Assignments and Projects
All assignments and projects must be submitted per the provided schedule. Late submissions without valid justification
will not be graded and may be reported as academic misconduct.
12. Classroom Behavior and Professional Conduct
Students must demonstrate respectful and professional behavior, including punctuality, active participation, and
engagement with peers and instructors. Mobile phone use and disruptive behavior are prohibited.
13. Approval
Name: Signature Date
Instructor: 19/11/2025
Ravindra Babu.B
Section Head:
Department Head:
Year of Excellence 2.0