• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Learn to Program: The Fundamentals

2019/2020
Academic Year
ENG
Instruction in English
3
ECTS credits
Course type:
Elective course
When:
3 year, 1 module

Course Syllabus

Abstract

Behind every mouse click and touch-screen tap, there is a computer program that makes things happen. This course introduces the fundamental building blocks of programming and teaches you how to write fun and useful programs using the Python language.
Learning Objectives

Learning Objectives

  • To introduce the fundamental building blocks of programming
  • To teach how to write useful programs using the Python language
Expected Learning Outcomes

Expected Learning Outcomes

  • Basics of Python Syntax and Semantics
  • Fundamentals of Programming
  • Use of strings and design of functions in Python
  • Use of Boolean expressions
  • Understand the concept of Python module
  • Learn to repeat code (using a For loop)
  • Manipulate strings in Python
  • Use a debugger to watch a program execute
  • Learn to repeat code (using a While loop)
  • Learn to document code in Python
  • Understand the concept of mutation
  • Master manipulations with lists using Python
  • Master tuples (an immutable version of lists)
Course Contents

Course Contents

  • Python, Variables, and Functions.
    This module gives an overview of the course, the editor we will use to write programs, and an introduction to fundamental concepts in Python including variables, mathematical expressions, and functions.
  • Strings and Designing Functions.
    This module introduces strings (a Python data type used to represent text), and a process to follow when creating a function.
  • Booleans, Import, Namespaces, and if Statements.
    This module introduces Booleans (logical values True and False), how to convert between types, how to use Boolean expressions in if statements to selectively run code, and the concept of a Python module.
  • For Loops and Fancy String Manipulation.
    This module introduces one way to repeat code (using a for loop), how to manipulate strings, and how to use a debugger to watch a program execute step by step.
  • While Loops, Lists, and Mutability.
    This module introduces another way to repeat code (using a while loop), how to properly document your code to help other programmers understand it, Python's list data type, and the concept of mutation.
  • For Loops Over Indices, Parallel and Nested Lists and Strings, and Files.
    This module introduces how to use a for loop over the indexes of a list, how to nest lists, and how to read a write files.
  • Tuples and Dictionaries.
    This module introduces tuples (an immutable version of lists), and Python's dictionary type.
Assessment Elements

Assessment Elements

  • non-blocking Final exam
  • non-blocking Assignment 1
  • non-blocking Assignment 2
  • non-blocking Assignment 3
Interim Assessment

Interim Assessment

  • Interim assessment (1 module)
    0.15 * Assignment 1 + 0.15 * Assignment 2 + 0.15 * Assignment 3 + 0.55 * Final exam
Bibliography

Bibliography

Recommended Core Bibliography

  • Gries, P., Campbell, J., & Montojo, J. (2017). Practical Programming : An Introduction to Computer Science Using Python 3.6 (Vol. Third edition). [Place of publication not identified]: Pragmatic Bookshelf. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1716748

Recommended Additional Bibliography

  • Andrew Bird, Dr Lau Cher Han, Mario Corchero Jiménez, Graham Lee, & Corey Wade. (2019). The Python Workshop : A New, Interactive Approach to Learning Python. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2291496
  • Gerrard, P. (2016). Lean Python : Learn Just Enough Python to Build Useful Tools. [Place of publication not identified]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1360162