EDI 3400 Programming and Data Management
EDI 3400 Programming and Data Management
This course introduces Python and SQL, two of the most popular and indispensable programming languages for data analysts. In addition, the course covers the basics of data management with focus on relational databases.
Using available data to gain insights and make correct decisions is becoming essential for almost any business in today’s world.
Upon completion of the course the student shall be able to:
- Understand, explain and use fundamental programming concepts, including:
- syntax and semantics,
- variables,
- types,
- basic data structures,
- expressions and statements,
- control flow (conditionals and loops),
- functions and libraries,
- input/output operations,
- exceptions with focus on the Python programming language.
- Understand and explain principles of data modeling and relational databases,
- Understand, explain and use SQL statements and queries.
Upon completion of the course the student shall be able to:
- Use integrated development environments to create computer programs,
- Design, implement, run, test and debug programs in Python based on a given textual description of a problem,
- Process, analyze, summarize and visualize datasets using Python, NumPy, Matplotlib and Seaborn and other libraries,
- Read and understand Python source code implemented by others,
- Create a data model based on a given textual description of a problem,
- Implement this data model in a relational database using the SQL language,
- Query and modify relational databases using the SQL language,
- Create computer programs in Python that store, modify and query data stored in relational databases.
Upon completion of the course the student shall have stronger competence in:
- Processing and analyzing data with help of computers,
- Using online resources as aids to solve problems,
- Reading and understanding technical documentation.
- Introduction, installation of Python, Jupyter lab, IDEs.
- Executing Python code.
- Variables, basic types, user input and output.
- Control flow (conditional execution, loops).
- Organizing code (functions and libraries).
- Data structures.
- Strings, reading, writing and processing text files. Regular expressions.
- Extracting data from the web.
- Vectors and matrices (NumPy), random numbers and the Monte Carlo method.
- Processing and analyzing tabular data with Pandas (reading, cleaning, manipulating, grouping and aggregating data).
- Plotting and visualization (Matplotlib, Seaborn).
- Introduction to relational databases.
- Structured Query Language (SQL).
- The relational model.
- Programming with databases.
- Organized classes combining classical lectures with discussing and solving practical problems. (Students are expected to prepare for these sessions by going through given Jupyter notebooks and other reading material and/or watching selected videos online.)
- Homework exercises (ungraded, solved individually or in groups of 2-3 students).
- Exercises sessions: 14 weeks, 2 hours/week, by a teaching assistant.
Software tools: open-source software (more information will be given at the beginning of the course).
Higher Education Entrance Qualification
Disclaimer
Deviations in teaching and exams may occur if external conditions or unforeseen events call for this.
No particular prerequisites are required.
Assessments |
---|
Exam category: Submission Form of assessment: Handin - all file types Weight: 100 Grouping: Individual Duration: 30 Hour(s) Exam code: EDI 34001 Grading scale: ECTS Resit: Examination every semester |
Activity | Duration | Comment |
---|---|---|
Teaching | 28 Hour(s) | Lectures |
Feedback activities and counselling | 28 Hour(s) | Exercises sessions |
Prepare for teaching | 14 Hour(s) | |
Student's own work with learning resources | 100 Hour(s) | |
Examination | 30 Hour(s) | Expected time: 8-16 hours. |
A course of 1 ECTS credit corresponds to a workload of 26-30 hours. Therefore a course of 7,5 ECTS credit corresponds to a workload of at least 200 hours.