Skip to main content

Advanced Python ProgrammingLaajuus (5 cr)

Code: TE00BR45

Credits

5 op

Objective

After completing the course, the student can:
*describe the most important software application types and their typical features
*discuss the selection of a proper solution technology
*define data types and data structures and apply them in programs
*read program code written by someone else
*utilize decision and control structures
*recognize the most important object-oriented concepts
*design and implement software applications
*write programs that are fault tolerant

Content

*Python modules: their rationale, function, how to import them in different ways, and present the content of some standard modules
*the object-oriented approach – foundations: classes, methods, objects, and the standard objective features
*strings and their specific methods
*exception handling
*working with files

Qualifications

Introduction to Programming or equivalent competence in basics of Python

Enrollment

01.12.2022 - 26.02.2023

Timing

27.02.2023 - 10.05.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • English
Seats

15 - 40

Degree programmes
  • Degree Programme in Information and Communication Technology
  • Degree Programme in Information and Communications Technology
Teachers
  • Tiina Ferm
Groups
  • VAVA2223
  • PTIVIS21
  • PINFOS21

Objective

After completing the course, the student can:
*describe the most important software application types and their typical features
*discuss the selection of a proper solution technology
*define data types and data structures and apply them in programs
*read program code written by someone else
*utilize decision and control structures
*recognize the most important object-oriented concepts
*design and implement software applications
*write programs that are fault tolerant

Content

*Python modules: their rationale, function, how to import them in different ways, and present the content of some standard modules
*the object-oriented approach – foundations: classes, methods, objects, and the standard objective features
*strings and their specific methods
*exception handling
*working with files

Materials

Professional Python by Luke Sneeringer, Wrox 2016. 1st edition
Selected links in itslearning

Exam schedules

No exam

International connections

learning by coding

Student workload

Introduction to the course 3h

Contact hours 4h/week (onsite and online)
Independent coding 8h/week

Total 135 h

Content scheduling

During the course, we use the book Professional Python by Luke Sneeringer, Wros 2016, 1st ed. Available in Finna as ebook.

Weekly topics:

1. decorators CH 1
2. context managers CH2
3. generators CH 3
4. magic methods CH 4
5. procedural programming
6. object-oriented programming CH 6
7. object-oriented programming CH 7
8. functional programming
9. strings CH 8
10. regular expressions CH 9

Evaluation scale

H-5

Assessment methods and criteria

10 topics each total 10p
3 programming assignments 1p
1 programming assignment 2p
1 programming assignment 5p


Total 10*10p

Assignments returned on time are evaluated.

Assessment criteria, fail (0)

< 40 points

Assessment criteria, satisfactory (1-2)

40-59 points

Assessment criteria, good (3-4)

60-79 points

Assessment criteria, excellent (5)

>80 points

>90 points + 1 cr

Qualifications

Introduction to Programming or equivalent competence in basics of Python

Enrollment

01.12.2021 - 19.01.2022

Timing

10.01.2022 - 30.04.2022

Number of ECTS credits allocated

5 op

Virtual portion

4 op

Mode of delivery

20 % Contact teaching, 80 % Distance learning

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • English
Seats

20 - 40

Degree programmes
  • Degree Programme in Information and Communication Technology
  • Degree Programme in Information and Communications Technology
Teachers
  • Tapani Ojanperä
Groups
  • PINFOS20
  • PTIVIS20
  • VAVA2122

Objective

After completing the course, the student can:
*describe the most important software application types and their typical features
*discuss the selection of a proper solution technology
*define data types and data structures and apply them in programs
*read program code written by someone else
*utilize decision and control structures
*recognize the most important object-oriented concepts
*design and implement software applications
*write programs that are fault tolerant

Content

*Python modules: their rationale, function, how to import them in different ways, and present the content of some standard modules
*the object-oriented approach – foundations: classes, methods, objects, and the standard objective features
*strings and their specific methods
*exception handling
*working with files

Materials

Cisco Net Academy - Python Essentials 2019, Modules 5 and 6.
Material on ViLLE
Other online material

Teaching methods

Contact hours (onsite/online)
Self study
- ViLLE
- Cisco Net Academy
Group study (1-3 students)
- A programming project

Exam schedules

No exam
A group project replaces the exam(s)

International connections

Students learn to design ja code programs.
With exercises theoretical issues are trained in. Formative and summative evaluation in exercises.
English terms and definitions are the essential part of the studies.
The students also utilize videos, tutorials and new learning environments (Cisco Net Academy, ViLLE and itslearning).
Summative evaluation in total

Student workload

Contact hours 42 h
Self study (ViLLE, Cisco Net Academy) and checking continuously homework automatically by learning environments and doing the project. 93 h
Total 135 h

Content scheduling

Spring 2022

January:
- Recap of Basics of Python
- Modules in Netacad
February:
- Packages
- String and List methods
March:
- Intro to Exceptions
- The Object Oriented approach: Classes, methods, objects, standard objective features
April:
- Exception handling
- Files
- The presentations of projects

Evaluation scale

H-5

Assessment methods and criteria

Homework (Linear table). Continuous assessment [formative assessment, self evaluation, guiding feedback].
ViLLE (Visual learning environment) and Cisco Net Academy: [machine evaluation, guiding feedback]
Learning the concepts of the programming is tested electronically by Cisco NetAcad and ViLLE. [summative assessment]
Teamwork skills controlled by a project [discussions and teacher evaluation]

Assessment criteria, fail (0)

Student
• does not know basic concepts of packages, modules, OOP (= Object Oriented Programming), exceptions and files
• cannot read or write simple programs with these concepts

Assessment criteria, satisfactory (1-2)

Student
• knows such basic concepts as modules and files and basic OOP concepts
• understands how OOP programs work.
• can read or write simple programs with Basic errror handling

Assessment criteria, good (3-4)

Student
• knows such basic concepts as modules and files and basic OOP concepts
• can write classes, attributes and methods.
• can read or write simple programs with moderate errror handling

Assessment criteria, excellent (5)

Student
• knows modules and files and basic OOP concepts in a deep manner
• understands differences of procedural programming and OOP.
• can read or write programs with detailed errror handling

Qualifications

Introduction to Programming or equivalent competence in basics of Python