Exam

In this document you can find all information about the exam at the end of this semester.

The exam is evaluated based on the 7 step scale and you are evaluated on how good you have accuired the following learning goals:

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).

The exam

The exam consist of 2 elements:

  • Hand in of an “outline”, or “exam synopsis”, and an

  • Oral exam.

Hand-in a synopsis:

Some weeks before the oral examination you should hand in a exam synopsis on wiseflow. If you fail to do so, you will not be able to attend the oral exam. The synopsis should follow these requirements:

  • One A4 page (all topics should be on one page!)

  • Give a short overview of what you will present at your exam.

Remember, a good synopsis or “abstract” clearly and concisely presents your topic, the purpose of your presentation, and the main points you will cover. It makes it easier for those assessing you to follow your presentation and judge you fairly.

Oral exam:

  • Prior to the exam you should have prepared a 10 minutes presentation for each of the 3 topics. At the beginnig of the examination you then randomly pick a topic to focus on for your examination.

  • Do a 10 minutes presentation with code examples for the picked topic.

  • After your presentation 12 minutes examination within this topic and other related topics.

Exam Topics

At your exam you should demonstrate to wich extend you fullfill the learning goals of this elective. This you should do through demonstrating your knowlege, skills and competencies within these topics.

  • Pythonic OOP and encapsulation

  • Build in functions in python

  • Functions & Decorators

You can get inspiration about what to talk about within each topic in your presentation here.

Exam advice

The flow of the exam flow be as:

Some weeks before the oral exam you will have to hand in a synopsis describing what you will present in connection with the different exam topics. The synopsis should be maximum one page long and should follow the Exam Synopsis Template

Oral exam

You draw a random topic from one of three topic cards. For 10 minutes you will present what you have prepared for this specific topic. After that for 12 minutes, I (Claus) will ask you questions mainly within the same topic. In the end of the exam, if the censor needs clarifications on your answers, she might ask you to elaborate on an already asked question.

Good advice:

Talk to your audience

When preparing for the exam it can be a good idea to clarify with yourself who you are talking to. Me (Claus) and the censor already know what you are trying to tell us, and it can be quite a challenge if your goal is to show us something new that we did not already know about. And of cause, this should also not be your focus! Instead try to see your audience as your fellow students, at the same level as you, but with little knowledge about the topic you are talking about. Breath, talk slowly and explain thoroughly what you know about the topic. In general you only have to show that you understood and can use what we covered during this semester.

Write pythonic code

We will evaluate you on different parameters, but one of the main parameters is the degree to which you are able to think like a python programmer, and are able to write pythonic code.

Live code or prepared examples?

At the exam during my questions you are welcome to use your prepared examples if they fits. If you do not have any prepared examples fitting my questions, i will ask you to live code an example demonstrating the answer to my question. It is not meant to be a live coding exam, but you should expect that i might ask you to do so.

Questions at the exam

The questions you will get at the exam will be focused on the topic you picked at the beginning of the exam, but you should expect that you could be asked anything within the area of what we covered during this semester.

Focus of presentation and questions

For your presentation you should pick a subtopic that is of interest to you, and then use your 10 minutes on this. You do not have to cover every thing within the topic. I (Claus) will then either ask you questions about this or other subtopics within this same topic and related topics.

Some subtopics overlap each other, and can appear multiple places. It is not different topics, but they just relate to the main topic in different ways.