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 completition of this course, the student can:
- Use Python to design programs using object-oriented programming and desig 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 succesfull 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. Further, the final grade is based on a portfolio evaluation composed by different deliveries during the semester. Students are expected to practice by themselves and follow a learning-by-doing principle. The lecturer will provide exercises for both group sessions and the portfolio evaluation.
Activities:
- Exercises in the group sessions
- Presentations of the portfolio assignments
- Mid-term project (1-3 students)
- Final project (1-3 students)
Students get feedback on their work from peers and teacher. and the feedback should be used to revise the portfolio. Some elements of the portfolio will be handed in by the end of the semester to get a final grade for the course.
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: Written submission Weight: 100 Grouping: Group/Individual (1 - 3) Duration: 1 Semester(s) Comment: Portfolio evaluation consisting of different deliveries during the semester. Note, not all of the deliveries need to be considered in the final grade. Exam code: GRA 41521 Grading scale: ECTS Resit: Examination when next scheduled 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.