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
-
PTIVIS23TData Networks and Cybersecurity
-
PTIETS23dncsData 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
|
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.