0% found this document useful (0 votes)
2 views8 pages

Advanced Programing With Python - Outline

The document outlines the course profile for 'Advanced Programming with Python' at the FDRE TVT Institute, detailing the course objectives, structure, and learning outcomes. It emphasizes advanced Python concepts, including object-oriented programming, exception handling, and database connectivity, aimed at second-year students in the Cybersecurity Technology program. The course includes practical assignments, group projects, and a capstone project to apply learned skills in real-world contexts.

Uploaded by

machotmadol
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views8 pages

Advanced Programing With Python - Outline

The document outlines the course profile for 'Advanced Programming with Python' at the FDRE TVT Institute, detailing the course objectives, structure, and learning outcomes. It emphasizes advanced Python concepts, including object-oriented programming, exception handling, and database connectivity, aimed at second-year students in the Cybersecurity Technology program. The course includes practical assignments, group projects, and a capstone project to apply learned skills in real-world contexts.

Uploaded by

machotmadol
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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

You might also like