Programming for networks and information security (5 cr)
Code: TT00BO26-3002
General information
Enrollment
03.06.2020 - 09.09.2020
Timing
31.08.2020 - 18.12.2020
Number of ECTS credits allocated
5 op
Mode of delivery
Contact teaching
Unit
Engineering and Business
Campus
Kupittaa Campus
Teaching languages
- English
Degree programmes
- Degree Programme in Information and Communication Technology
Teachers
- Petri Hyvärinen
- Tommi Tuomola
Groups
-
PTIVIS19TData Networks and Cybersecurity
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
Cisco NetAcademy course: Network Programmability with Cisco APIC-EM
Teaching methods
Contact teaching:
- programming exercises in a workshop-style, where teachers assist when necessary
- supporting lectures, on a need basis
Exam schedules
Online exam, date to be announced later.
Student workload
Contact hours 42 h
Inpendent studying 93h, including:
- Reading Cisco Netacademy material
- Completing exercises
- Preparation for the exam
Content scheduling
The goal of this course 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.
The contents of the course:
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
Evaluation scale
H-5
Assessment methods and criteria
Final exam grade
Completion of 5 coding exercises
Assessment criteria, fail (0)
Final exam not passed
Missing coding exercise
Assessment criteria, satisfactory (1-2)
Passed final exam results to 2
Missing coding exercise results -1 in final result
Assessment criteria, good (3-4)
Passed final exam results to 2
Predefined coding exercises done results to +1 in final result
Self-selected coding exercise done results to +1 in final result
Assessment criteria, excellent (5)
Passed final exam results to 2
Predefined coding exercises done results to +1 in final result
Self-selected coding exercise done results to +2 in final result when student selects higher difficulty level.
Qualifications
Introduction to Programming or equivalent competence in Python.