Skip to main content

Programming for networks and information security (5 cr)

Code: TT00BO26-3002

General information


Enrollment
03.06.2020 - 09.09.2020
Registration for the implementation has ended.
Timing
31.08.2020 - 18.12.2020
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
Degree programmes
Degree Programme in Information and Communication Technology
Teachers
Petri Hyvärinen
Tommi Tuomola
Groups
PTIVIS19T
Data Networks and Cybersecurity
Course
TT00BO26
No reservations found for realization TT00BO26-3002!

Evaluation scale

H-5

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

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

Evaluation methods and criteria

Final exam grade
Completion of 5 coding exercises

Failed (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.

Go back to top of page