CS420 Network Programming


CS420 Network Programming

Syllabus   |  International University of Sarajevo  -  Last Update on Sep 09, 2025

Referencing Curricula

HOSTED BY

Computer Sciences and Engineering

Academic Year
2025 - 2026
Semester
Fall
Course Code
CS420
Weekly Hours
3 Teaching + 2 Practice
ECTS
6
Prerequisites
Teaching Mode Delivery
Face-to-face
Prerequisite For
-
Teaching Mode Delivery Notes
-
Cycle
I Cycle
Prof. Jane Doe

Amal Mersni

Course Lecturer

Position
Assistant Professor Dr.
Phone
033 957 -
Assistant(s)
Ismar Aganovic
Assistant E-mail

Course Objectives

    By the end of the course, students will be able to:
  • Describe the layered architecture of computer networks and explain the procedures and devices that provide network connectivity.
  • Explain the purpose and characteristics of software-defined networking, virtualization, and automation concepts that support the digitalization of networks.
  • Apply Python programming and Linux fundamentals.
  • Use software development and design best practices .
  • Create a secure REST API.
  • Employ leading technologies to deploy and safeguard apps and data in the cloud environment.
  • Compare software testing and deployment methods in automation and simulation environments.
  • Evaluate the various Cisco platforms for collaboration, infrastructure management, and automation.

Learning Outcomes

After successful completion of the course, the student will be able to:

1
Explain the architecture and core principles of computer networks, including application-layer protocols, client-server models, virtualization, and automation.
2
Describe methods for programming and automating networked systems using current frameworks and development tools.
3
Automate and manage network tasks through scripting and configuration, applying security practices.
4
Design and implement secure APIs using standards and data models.
5
Apply software engineering best practices for reliable and secure networked applications.

Course Materials

Required Textbook

  • 1. Cisco DevNet Associate Course Resources: DevNet Associate v1.0 (DEVASC).
  • 2. CCNA Cisco Academy Networking Program: Introduction to Networks v7.0 (ITN) and Enterprise Networking, Security, and Automation v7.0 (ENSA).
  • 3 Cisco Networking Academy Course: Programming Essentials in Python Course v2.0 (PCAP).
  • 4 Cisco Networking Academy Course: NDG Linux Unhatched.

Additional Literature
Edelman, Jason, Scott S. Lowe, and Matt Oswalt. Network Programmability and Automation: Skills for the Next-Generation Network Engineer. " O'Reilly Media, Inc.", 2018. Chou, Eric. Mastering Python Networking . Packt Publishing Ltd, 2017.

Teaching Methods

This course employs a range of teaching and learning methods such as Lectures with presentations and notes , in-class examples and discussions , interactive Activities, video demonstrations, syntax-checker
Practical skills and hands-on experience tasks for engaged learning and continuous feedback on progress

Weekly Topics

This weekly planning is subject to change with advance notice.
Week Topic Readings / References
1 Course Introduction Slides, Netacad platform, and online resources
2 Reviewing Network Fundamentals Slides, Netacad platform, and online resources
3 Advanced Networking topics Slides, Netacad platform, and online resources
4 Network Virtualization Slides, Netacad platform, and online resources
5 Introduction to Network Automation Slides, Netacad platform, and online resources
6 Network Controllers Slides, Netacad platform, and online resources
7 Software Defined Networks First Quiz Slides, Netacad platform, and online resources
8 Midterm
9 Scripting with Python for Networks Slides, Netacad platform, and online resources
10 Linux Fundamentals for Networks Slides, Netacad platform, and online resources
11 CML- Quick Start to Network Automation Workshop Slides, Netacad platform, and online resources
12 Understanding and Using APIs Slides, Netacad platform, and online resources
13 Data Models and Automation protocols Slides, Netacad platform, and online resources
14 Application Deployment and Security Second Quiz Slides, Netacad platform, and online resources
15 Cisco Platforms and Development Slides, Netacad platform, and online resources

Course Schedule (All Sections)

SectionTypeDay 1Venue 1Day 2Venue 2
CS420.1 Course Tuesday 09:00 - 11:50 A F2.14 - Amphitheater II - -
CS420.1 Tutorial Thursday 18:00 - 19:50 B F1.25 Computer Lab - -
CS420.2 Tutorial Wednesday 09:00 - 10:50 B F1.25 Computer Lab - -

Office Hours & Room

DayTimeOfficeNotes
Tuesday 14:00 - 16:00 A F1.6
Thursday 13:00 - 14:00 A F1.6 (Internship consultations , internship application forms)

Assessment Methods and Criteria

Assessment Components

40%x1
Final Exam
AI: Not Allowed

Alignment with Learning Outcomes :  1  2  3  4

30%x1
Midterm exam
AI: Not Allowed

Alignment with Learning Outcomes :  1  2  3

10%x10
Hands-on labs
AI: Not Allowed

Alignment with Learning Outcomes :  1  2  3  4

20%x2
Quizzes
AI: Not Allowed

Alignment with Learning Outcomes :  1  2  3  4

IUS Grading System

Grading Scale IUS Grading System IUS Coeff. Letter (B&H) Numerical (B&H)
0 - 44 F 0 F 5
45 - 54 E 1
55 - 64 C 2 E 6
65 - 69 C+ 2.3 D 7
70 -74 B- 2.7
75 - 79 B 3 C 8
80 - 84 B+ 3.3
85 - 94 A- 3.7 B 9
95 - 100 A 4 A 10

Late Work Policy

Information about late submission policies will be shared during class and posted in this section. Please check back for official guidelines.

ECTS Credit Calculation

📚 Student Workload

This 6 ECTS credit course corresponds to 150 hours of total student workload, distributed as follows:

Lecture Hours

42 hours ⏳ (14 week × 3 h)

Hands on labs

20 hours ⏳ (10 week × 2 h)

Home Study

45 hours ⏳ (15 week × 3 h)

Midterm exam study

15 hours ⏳ (3 week × 5 h)

Final exam study

28 hours ⏳ (4 week × 7 h)

150 Total Workload Hours

6 ECTS Credits


Course Policies

Academic Integrity

All work submitted must be your own. Plagiarism, cheating, or any form of academic dishonesty will result in disciplinary action according to university policies. When in doubt about citation practices, consult the instructor.

Attendance Policy

Students are expected to adhere to the attendance requirements as outlined in the International University of Sarajevo Study Rules and Regulations. Excessive absences, whether excused or unexcused, may impact academic performance and eligibility for assessment. Mandatory sessions (e.g., labs, workshops) require attendance unless formally exempted. For detailed policies on absences, documentation, and penalties, please refer to the official university regulations.

Technology & AI Policy

Laptops/tablets may be used for note-taking only during lectures. Phones should be silenced and put away during all class sessions. Audio/video recording requires prior permission from the instructor.

Artificial Intelligence (AI) Usage: The use of AI tools (e.g., ChatGPT, Copilot, Gemini) varies by assessment component. Please refer to the AI usage indicator next to each assessment item in the Assessment Methods and Criteria section above. Submitting AI-generated content as your own work, where AI is not explicitly allowed, constitutes an academic integrity violation.

Communication Policy

All course-related communication should occur through official university channels (institutional email or SIS). Emails should include [CS420] in the subject line.

Academic Quality Assurance Policy

Course Academic Quality Assurance is achieved through Semester Student Survey. At the end of each academic year, the institution of higher education is obliged to evaluate work of the academic staff, or the success of realization of the curricula.

More info

Learning Tips

Engage Actively

Be prepared to contribute thoughtfully during class discussions, labs, or collaborative work. Active participation deepens understanding and encourages critical thinking.

Read and Review Purposefully

Complete assigned readings or prep materials before class. Take notes, highlight key ideas, and jot down questions. Aim to grasp core concepts and their applications—not just facts.

Think Critically in Assignments

Use course frameworks or methodologies to analyze problems, case studies, or projects. Begin early to allow time for reflection and refinement. Seek feedback to improve your work.

Ask Questions Early

Don’t hesitate to reach out when something is unclear. Use office hours, discussion boards, or peer networks to clarify concepts and stay on track.

Syllabus Last Updated on Sep 09, 2025 | International University of Sarajevo

Print Syllabus