About this elective
This elective is one of the 3 you have chosen on your 4th semester computer science education. Its aim is make you a better and a more clear thinking programmer.
We will not have a lot of focus on creating applications that can perform this or that task. You will of cause be able to use the language and what you learn in this elective for doing that, but as described, application production will not be the focus of this elective.
Teaching plan
The details of each session can be found by following the links in the meny on the left. Your class and individual schedules can be found on Fronter.
Learning goals
The goal of this elective is to make you a better, and a more clear thinking programmer, and to make you able to be so using python as your programming language.
All in all you should at the end of this semester have aquired the compentencies required to perform in a job situation where python is needed.
The more formal learning goals
Knowledge
After completing this elective, you will have knowledge of:
Where and in what situations python is used.
A range of python-relevant development tools.
Different Pythonic development methods.
Differences between scripting and compiled languages.
The topics from the previous semesters of your education, but with a deeper understanding.
Skills
After completing this elective, you will be able to:
Make use of simple and advanced elements of the language.
Be able to explain and make use of Python’s Data Model and its protocols.
Program via a pythonic programming style.
Use a variety of language specific development tools.
Develop using python related development methods.
Solve abstract problems using python and a pythonic programming style.
Refactor code to become “pythonic”.
Refactoring code to make the code more efficient.
Analyzes error messages and find solutions to the problem.
Competences
After completing this elective, you will:
Be able to independently familiarize yourself with new topics and conduct literature searches and find solutions to problems encountered.
Be able to perspective and relate to what you learned earlier in the study (especially in relation to the difference between Python and Java).
Course Workload
This course is 10 ECTS points which translates to 13 hours pr. week, including classes.
Software Needed for the Course
VS Code (or something like it)
Course materials
The litterature to support the learning outcome of this elective can be found on this website:
An exelent book (but somehow more advanced) about the python language are:
Fluent Python: Clear, Concise, and Effective Programming, First Edition Luciano Ramalho O’Reilly, August 2015 ISBN 978-1-491-9-46008
The first link should cover what is needed for this elective.