GRA 4152 Object Oriented Programming with Python
GRA 4152 Object Oriented Programming with Python
Data science requires the design of computer-intensive algorithms and routines, which are relatively easy to manage and further develop. In addition, many business relevant cases require handling large amounts of data in an efficient manner. This course gives you the knowledge and skills needed to program such algorithms using object-oriented programming. Further, to improve your productivity as a business-oriented data scientist you will learn how to keep track of your code as it evolves and facilitate peer collaboration.
By the end of the course, the student can:
- Define and explain the fundamentals of object-oriented programming
- Understand the concepts of classes, objects, methods, constructors, or inheritance
- Describe what version control tools do, and how they contribute towards increased productivity in programming
After the completion of this course, the student can:
- Use Python to design programs using object-oriented programming and design strategies for parallelizing functions
- Use version control tools to track, share, and cooperate while coding a program
- Be able to find errors and debug an algorithm
- Present and explain the code's architecture to an audience
- Handle large data sets with Python
The student will be able to design computational and data intensive applications using object-oriented programming and present and explain the architecture to an audience. A successfull student can work efficiently individually, or in teams, using version control tools.
- Recap:
- Datatypes, expressions, boolean variables, functions, loops and conditional statements -
Introduction to object-oriented programming:
- Classes, constructors and methods -
Further topics in objected-oriented programming:
- Inheritance, superclasses, and subclasses -
Version control with Git and Github
- Pull, commit, and push.
- Branching and merching
- Parser for command line and parallelize functions.
- Debugging and finding errors.
- Technologies to handle large amounts of data.
This course combines both lectures and practical group sessions. The final grade is based on an individual final project and an oral presentation of it. Students are expected to practice by themselves and follow a learning-by-doing principle. The lecturer will provide exercises that shall be answered in the group sessions or by your own as a homework.
Activities:
- Exercises in the group sessions
- Optional presentation of excercises
- Final project (individual)
Students have the opportunity to present some of the exercises during the course to get feedback on their work from peers and teacher.
Software: Python, Git and Github.
Please note that while attendance is not compulsory in all courses, it is the student’s own responsibility to obtain any information provided in class.
All courses in the Masters programme will assume that students have fulfilled the admission requirements for the programme. In addition, courses in second, third and/or fourth semester can have specific prerequisites and will assume that students have followed normal study progression. For double degree and exchange students, please note that equivalent courses are accepted.
Disclaimer
Deviations in teaching and exams may occur if external conditions or unforeseen events call for this.
Basic programming, e.g., EBA3400 Programming, data extraction and visualisation, or similar. It is an advange, not a prerequisite, to have taken any introductury course in statistics, e.g. EBA 2904 Statistics with programming or EBA 3530 Causality, Machine Learning and Forecasting, since some of the applications in the course will be using statistical models.
Assessments |
---|
Exam category: Submission Form of assessment: Submission PDF Exam/hand-in semester: First Semester Weight: 60 Grouping: Individual Duration: 1 Week(s) Comment: The final project is complemented with an oral presentation 7-10 days after the final project is delivered. Exam code: GRA 41522 Grading scale: ECTS Resit: Examination when next scheduled course |
Exam category: Activity, Oral Form of assessment: Presentation Exam/hand-in semester: First Semester Weight: 40 Grouping: Individual Duration: 25 Minute(s) Comment: 15 min oral presentation on the final project, followed by 10 min questions from the sensors. Exam code: GRA 41523 Grading scale: ECTS Resit: Examination when next scheduled course |
All exams must be passed to get a grade in this course.
Activity | Duration | Comment |
---|---|---|
Teaching | 36 Hour(s) | |
Seminar groups | 14 Hour(s) | |
Student's own work with learning resources | 130 Hour(s) |
A course of 1 ECTS credit corresponds to a workload of 26-30 hours. Therefore a course of 6 ECTS credits corresponds to a workload of at least 160 hours.