EDI 3400 Programming and Data Management

EDI 3400 Programming and Data Management

Course code: 
EDI 3400
Department: 
Data Science and Analytics
Credits: 
7.5
Course coordinator: 
Vegard Høghaug Larsen
Course name in Norwegian: 
Programming and Data Management
Product category: 
Bachelor
Portfolio: 
Bachelor of Digital Business - Programme course
Semester: 
2023 Autumn
Active status: 
Active
Level of study: 
Bachelor
Teaching language: 
English
Course type: 
One semester
Introduction

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.

Learning outcomes - Knowledge

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.
Learning outcomes - Skills

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.
General Competence

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.
Course content
  • 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.
Teaching and learning activities
  • 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).

Software tools
Software defined under the section "Teaching and learning activities".
Qualifications

Higher Education Entrance Qualification

Disclaimer

Deviations in teaching and exams may occur if external conditions or unforeseen events call for this.

Required prerequisite knowledge

No particular prerequisites are required.

Exam categoryWeightInvigilationDurationGroupingComment exam
Exam category:
Submission
Form of assessment:
Handin - all file types
Exam code:
EDI 34001
Grading scale:
ECTS
Grading rules:
Internal examiner
Resit:
Examination every semester
100No30 Hour(s)Individual
Exams:
Exam category:Submission
Form of assessment:Handin - all file types
Weight:100
Invigilation:No
Grouping (size):Individual
Duration:30 Hour(s)
Comment:
Exam code:EDI 34001
Grading scale:ECTS
Resit:Examination every semester
Type of Assessment: 
Ordinary examination
Total weight: 
100
Student workload
ActivityDurationComment
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.
Sum workload: 
200

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.