Skip to main content

Programming for networks and information security (5 cr)

Code: TT00BO26-3006

General information


Enrollment
01.06.2024 - 13.09.2024
Registration for the implementation has ended.
Timing
02.09.2024 - 13.12.2024
Implementation has ended.
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 Information and Communication Technology
Teachers
Jani Ekqvist
Groups
PTIVIS23T
Data Networks and Cybersecurity
PTIETS23dncs
Data Networks and Cybersecurity
Course
TT00BO26

Realization has 49 reservations. Total duration of reservations is 87 h 0 min.

Time Topic Location
Wed 11.09.2024 time 12:00 - 14:00
(2 h 0 min)
Lecture, Programming for networks and information security TT00BO26-3006
ICT_C1042_Myy MYY
Wed 18.09.2024 time 12:00 - 14:00
(2 h 0 min)
Lecture, Programming for networks and information security TT00BO26-3006
LEM_B164 Tapio muunto
Wed 18.09.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 3, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Fri 20.09.2024 time 08:00 - 10:00
(2 h 0 min)
Exercises, group 1, Programming for networks and information security TT00BO26-3006
ICT_C3036 Cyberlab / BYOD
Fri 20.09.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 2, Programming for networks and information security TT00BO26-3006
ICT_B1038 IT telakka
Wed 25.09.2024 time 12:00 - 14:00
(2 h 0 min)
Lecture, Programming for networks and information security TT00BO26-3006
LEM_B164 Tapio muunto
Wed 25.09.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 3, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Fri 27.09.2024 time 09:00 - 10:00
(1 h 0 min)
Exercises, group 1, Programming for networks and information security TT00BO26-3006
ICT_C3036 Cyberlab / BYOD
Fri 27.09.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 2, Programming for networks and information security TT00BO26-3006
ICT_B1038 IT telakka
Wed 02.10.2024 time 12:00 - 14:00
(2 h 0 min)
Lecture, Programming for networks and information security TT00BO26-3006
LEM_B164 Tapio muunto
Wed 02.10.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 3, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Fri 04.10.2024 time 09:00 - 10:00
(1 h 0 min)
Exercises, group 1, Programming for networks and information security TT00BO26-3006
ICT_C3036 Cyberlab / BYOD
Fri 04.10.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 2, Programming for networks and information security TT00BO26-3006
ICT_B1038 IT telakka
Wed 09.10.2024 time 12:00 - 14:00
(2 h 0 min)
Lecture, Programming for networks and information security TT00BO26-3006
LEM_B164 Tapio muunto
Wed 09.10.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 3, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Fri 11.10.2024 time 09:00 - 10:00
(1 h 0 min)
Exercises, group 1, Programming for networks and information security TT00BO26-3006
ICT_C3036 Cyberlab / BYOD
Fri 11.10.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 2, Programming for networks and information security TT00BO26-3006
ICT_B1038 IT telakka
Wed 23.10.2024 time 12:00 - 14:00
(2 h 0 min)
Lecture, Programming for networks and information security TT00BO26-3006
LEM_B164 Tapio muunto
Wed 23.10.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 3, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Fri 25.10.2024 time 09:00 - 10:00
(1 h 0 min)
Exercises Group 1, Programming for networks and information security TT00BO26-3006
ICT_C3036 Cyberlab / BYOD
Fri 25.10.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 2, Programming for networks and information security TT00BO26-3006
ICT_C3039 Ciscolaboratorio
Wed 30.10.2024 time 12:00 - 14:00
(2 h 0 min)
Lecture, Programming for networks and information security TT00BO26-3006
LEM_B164 Tapio muunto
Wed 30.10.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 3, Programming for networks and information security TT00BO26-3006
ICT_C3036 Cyberlab / BYOD
Fri 01.11.2024 time 09:00 - 10:00
(1 h 0 min)
Exercises, group 1, Programming for networks and information security TT00BO26-3006
ICT_C3036 Cyberlab / BYOD
Fri 01.11.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 2, Programming for networks and information security TT00BO26-3006
ICT_B1038 IT telakka
Wed 06.11.2024 time 12:00 - 14:00
(2 h 0 min)
Lecture, Programming for networks and information security TT00BO26-3006
LEM_B164 Tapio muunto
Wed 06.11.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 3, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Fri 08.11.2024 time 09:00 - 10:00
(1 h 0 min)
Exercises, group 1, Programming for networks and information security TT00BO26-3006
ICT_B1038 IT telakka
Fri 08.11.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 2, Programming for networks and information security TT00BO26-3006
ICT_B1038 IT telakka
Wed 13.11.2024 time 12:00 - 14:00
(2 h 0 min)
Lecture, Programming for networks and information security TT00BO26-3006
LEM_B164 Tapio muunto
Wed 13.11.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 3, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Fri 15.11.2024 time 09:00 - 10:00
(1 h 0 min)
Exercises, group 1, Programming for networks and information security TT00BO26-3006
ICT_C3036 Cyberlab / BYOD
Fri 15.11.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 2, Programming for networks and information security TT00BO26-3006
ICT_B1038 IT telakka
Wed 20.11.2024 time 12:00 - 14:00
(2 h 0 min)
Lecture, Programming for networks and information security TT00BO26-3006
LEM_B164 Tapio muunto
Wed 20.11.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 3, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Fri 22.11.2024 time 09:00 - 10:00
(1 h 0 min)
Exercises, group 1, Programming for networks and information security TT00BO26-3006
ICT_C3036 Cyberlab / BYOD
Fri 22.11.2024 time 15:00 - 16:00
(1 h 0 min)
Exercises, group 2, Programming for networks and information security TT00BO26-3006
ICT_B1038 IT telakka
Wed 27.11.2024 time 12:00 - 14:00
(2 h 0 min)
Lecture, Programming for networks and information security TT00BO26-3006
LEM_B164 Tapio muunto
Wed 27.11.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 3, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Fri 29.11.2024 time 09:00 - 10:00
(1 h 0 min)
Exercises, group 1, Programming for networks and information security TT00BO26-3006
ICT_C3036 Cyberlab / BYOD
Fri 29.11.2024 time 14:00 - 16:00
(2 h 0 min)
Exercises, group 2, Programming for networks and information security TT00BO26-3006
ICT_B1038 IT telakka
Wed 04.12.2024 time 12:00 - 13:00
(1 h 0 min)
DNCS23 Info session TT00BO26-3006
ICT_C1027_Lambda LAMBDA
Wed 04.12.2024 time 14:00 - 16:00
(2 h 0 min)
Exam, group 3, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Tue 10.12.2024 time 14:00 - 16:00
(2 h 0 min)
Exam re-take, group 3, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Wed 11.12.2024 time 12:00 - 14:00
(2 h 0 min)
Exam, group 1, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Wed 11.12.2024 time 14:00 - 16:00
(2 h 0 min)
Exam, group 2, Programming for networks and information security TT00BO26-3006
ICT_B1039 IT telakka
Fri 13.12.2024 time 08:00 - 10:00
(2 h 0 min)
Exam re-take, group 1, Programming for networks and information security TT00BO26-3006
ICT_C3036 Cyberlab / BYOD
Fri 13.12.2024 time 14:00 - 16:00
(2 h 0 min)
Exam re-take, group 2, Programming for networks and information security TT00BO26-3006
ICT_B1038 IT telakka
Wed 08.01.2025 time 12:00 - 14:00
(2 h 0 min)
Exam retake
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.

International connections

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

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