/lecture-notes

MPR213 Lecture Notes

Primary LanguageJupyter Notebook

Binder

Info

The lecture notes for MPR213 (Programming and Information Technology)

Faculty of Engineering, Built Environment and Information Technology

Department of Mechanical and Aeronautical Engineering

University of Pretoria

Software

  • These lecture notes are designed to be viewed using Jupyter which can easily be installed through Anaconda
  • All examples in the lecture notes are written / developed using Python 3
  • To open Jupyter from a specific folder in Windows please refer to this video
  • These lecture notes also make use of the notebook extension nbtutor which can be installed by:
    • First installing Anaconda
    • Then opening the Windows Command Prompt (Refer to this video)
    • Then, in the Command Prompt, type the following and hit enter:
    conda install -c conda-forge nbtutor
    
    • Note: Installing nbtutor requires an internet connection

Lectures

General

  • 160 hours (16 credits)
  • 48 lectures (4 hours per week, 12 weeks)

Lecture Breakdown

  • [Week 1] Introduction, Basic Calculator, Names, Object and Assignment, Memory Models, Functions
  • [Week 2] Basic Arrays, For-Loop
  • [Week 3] While-Loop, Growing Lists
  • [Week 4] Branching
  • [Week 5] Additional Examples (Problem Solving)
  • [Week 6] Additional Examples (Problem Solving)
  • [Week 7] Group project - Plagiarism Talk + Getting Going
  • [Week 8] Libre Office Calc - Example + Experimental Data Driven
  • [Week 9] Plotting, Matrices
  • [Week 10] Reading and Writing Data (Pandas)
  • [Week 11] Advanced Built-in Functions (Numpy and Scipy)
  • [Week 12] GUIs, Recap and buffer week, Group Project Feedback

Fundamentals

Must be in Place to Pass

  1. Names, Objects and Assignment
  2. Importing Modules and Usage
  3. Functions (Using Existing, Creating Custom)
  4. Basic Structures (For-Loop, While-Loop, If-Statements)
  5. Basic Arrays and Lists (Usage, Iterating Over, Growing)
  6. Basic Plotting

Need to Ensure

  1. Tests and Exams Outcomes --> Only pass when above fundamentals are in place
  2. Teaching Outcomes --> Align with the fundamentals
  3. Tutorials Outcomes --> Align with the fundamentals
  4. Basic and advanced / extra outcomes --> Make sure that advanced / extra outcomes do not interfere with basic outcomes - when in doubt throw it out!