Skip to main content

Programming for networks and information security (5 cr)

Code: TT00BO26-3007

General information


Enrollment
02.06.2025 - 31.08.2025
Registration for the implementation has begun.
Timing
02.09.2025 - 21.12.2025
The implementation has not yet started.
Number of ECTS credits allocated
5 cr
Local portion
5 cr
Mode of delivery
Contact learning
Unit
Engineering and Business
Campus
Kupittaa Campus
Teaching languages
English
Seats
30 - 60
Degree programmes
Degree Programme in Information and Communications Technology
Degree Programme in Business Information Technology
Degree Programme in Information and Communication Technology
Teachers
Jani Ekqvist
Teacher in charge
Jani Ekqvist
Groups
DNCS24A
Data Networks and Cybersecurity
Vaihto2526dncs
Data Networks and Cybersecurity
DNCS24B
Data Networks and Cybersecurity
Course
TT00BO26

Realization has 36 reservations. Total duration of reservations is 72 h 0 min.

Time Topic Location
Tue 09.09.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Wed 10.09.2025 time 14:00 - 16:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 12.09.2025 time 14:00 - 16:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C1035_Delta DELTA
Tue 16.09.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 19.09.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 19.09.2025 time 14:00 - 16:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C1035_Delta DELTA
Tue 23.09.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 26.09.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 26.09.2025 time 14:00 - 16:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_B1041_Omega OMEGA
Tue 30.09.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C1039_Sigma SIGMA
Tue 30.09.2025 time 12:00 - 14:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 03.10.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Tue 07.10.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 10.10.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 10.10.2025 time 14:00 - 16:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_B1026_Gamma GAMMA
Tue 21.10.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 24.10.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 24.10.2025 time 14:00 - 16:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
EDU_1002 Moriaberg Esitystila byod
Tue 28.10.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 31.10.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 31.10.2025 time 14:00 - 16:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
Tue 04.11.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 07.11.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 07.11.2025 time 14:00 - 16:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_B1041_Omega OMEGA
Tue 11.11.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 14.11.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Fri 14.11.2025 time 14:00 - 16:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
Tue 18.11.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Wed 19.11.2025 time 13:00 - 15:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C1042_Myy MYY
Fri 21.11.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Tue 25.11.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Tue 25.11.2025 time 10:00 - 12:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C1039_Sigma SIGMA
Fri 28.11.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Tue 02.12.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Tue 02.12.2025 time 10:00 - 12:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_B1026_Gamma GAMMA
Fri 05.12.2025 time 08:00 - 10:00
(2 h 0 min)
Programming for networks and information security TT00BO26-3007
ICT_C3036 Cyberlab / BYOD
Changes to reservations may be possible.

Evaluation scale

H-5

Content scheduling

The goal of this course is to introduce the student to the programming related concepts and techniques often needed in the field of data networks and information security.

Upon completion of this course, students will be able to write small Python scripts to:
-Parse different kinds of data (JSON, log data etc.)
-Connect and query a database
-Query an external API for data and build a simple REST API of their own

The contents of the course:
-JSON format
-Using basic Python data structures to store data
-Parsing data in Python
-Basics of databases - concepts of relational and non-relational databases
-Querying databases with Python
-Concept of an API
-Querying an API with Python
-Building your own RESTful API
-Command line arguments and piping content to a Python script
-Accessing OS from scripts

Objective

The goal of this workshop is to introduce the students to the concepts and techniques for programming a network device. Upon completion of the workshop, students will be able to:
- Understand the value, set-up and use of software concepts and tools relevant to network programmability (Python scripting, Git, JSON, Postman, APIs).
- Describe a different approach to software-defined networking (SDN), including central application policy control.
- Create simple applications in Python with REST APIs.
- Use the Cisco DevNet Sandbox to interact with programmable devices using real-world APIs on Cisco APIC-EM programmable controllers.
- Create a variety of programs to interact with the Cisco APIC-EM APIs.

Content

Introduction to Python and Programming Basics
- Code and Communities of Practice
- Python Basics: Use Python to create programs that accept user input and read and write to external files
- APIs and Parsing JSON: Create a Python application that accesses an API based on user input and processes and displays the JSON data that is returned.
- Programming the APIC-EM 2.1
- Network Programmability: Explain how the Cisco APIC-EM enhances network management and performance
- Programming the APIC-EM REST API: Explain features of the APIC-EM API and documentation
- Create Python software tools for working with the APIC-EM API

Materials

Teacher provided lecture material
Supporting public online material
All needed material (or at least a link to them) will be available in itslearning.

Teaching methods

Lectures and program examples
Programming exercises
Independent learning

Exam schedules

Final exam in December. Please note that exam is compulsory.

Pedagogic approaches and sustainable development

Given program examples and programming exercises support each topic studied during the lectures. Additional material in the form of tutorials and reliable information sources is provided.

Student workload

Contact hours 56 h
Inpendent studying 79h, including:
- Studying the course material
- Completing exercises
- Preparation for the exam

Evaluation methods and criteria

Final exam in December during lecture or laboratory hours at campus..
Exam will be graded on scale 0-5. Please note that you must get a passing grade in exam to pass the course.
Programming exercises returned and presented in class throughout the course. Please note that to get credit for the exercises you have to be present at laboratory sessions for the learning to be assessed.
Homework will be graded on scale 0-5. Please note that you must get a passing grade in homework to pass the course.
0 - Less than 50% of assignments completed.
1 - 50% to 59% of assignments completed.
2 - 60% to 69% of assignments completed.
3 - 70% to 79% of assignments completed.
4 - 80% to 89% of assignments completed.
5 - 90% to 100% of assignments completed.

Final grade will be the average of exam and homework.
Course lecture and exercise session attendance will be monitored. Minimum of 50% attendance in the contact sessions is required to pass the course.

Failed (0)

Student has limited understanding of scripting and data structures.
Student fails the exam.
Student has completed less than 50% of the homework.

Assessment criteria, satisfactory (1-2)

Student is able to create scripts to solve problems and automate actions in networking and cybersecurity. Student knows data structures and programming interfaces.
Student receives a passing grade from the exam.
Student has completed at least 50% of the homework.

Assessment criteria, good (3-4)

Student is able to create scripts and software projects to solve problems and automate actions in networking and cybersecurity. Student understands data structures and programming interfaces.
Student receives an average grade from the exam.
Student has completed over 70% of the homework.

Assessment criteria, excellent (5)

Student is able to independently design and create scripts and software projects to solve problems and automate actions in networking and cybersecurity. Student understands data structures and programming interfaces, and can apply their knowledge effectively in the solution.
Student receives grade 5 from the exam.
Student has completed at least 90% of the homework.

Qualifications

Introduction to Programming or equivalent competence in Python.

Further information

Itslearning and contact classes are the main communication channels used on this course.

The student is required to have a computer capable of running a simple Ubuntu virtual machine.

Go back to top of page