Uni Graz logo

CMS 1

Introduction to Programming

Gerald Senarclens de Grancy <cms@senarclens.eu>

Computer Programming

Selection of Historic Programming Languages

Different programming languages have different purposes

Selection of Modern Programming Languages

C
For implementing operating system
Very close to the fundamental aspects of hardware
C++
Better C - with data abstraction, supporting object-oriented and generic programming
C++98, C++03, C++11, C++14
Haskell
Purely functional programming language
Haskell 98, Haskell 2010
Java
Compiled to bytecode
Programs require a Java Virtual Machine (JVM) to run
JavaScript (ECMAScript)
Behavior in web-based user interfaces
Dialects provide scripting for PDF documents, desktop widgets, Qt applications, LibreOffice, ...
PHP
"PHP: Hypertext Preprocessor"
Produces dynamic Web pages
Python
fun to use
"Monty Python's Flying Circus"
General-purpose, interpreted high-level programming language
Also used for scripting various programs including LibreOffice

A professional knows several languages and learns new ones as needed. There is no "one true language" for all people and all applications. In fact, all major systems we can think of use more than one language.
Bjarne Stroustrup

Features of Programming Languages

What properties in a programming language do we consider desirable?

Python

This course is suited for people new to programming - not just new to Python!

Terminology

Homework and Required Reading

  1. Install the required software on your computer (until the next session!!)
    • If you decide to use the provided Linux virtual machine: install Virtual Box, download the VM image and make sure it works as expected. Then watch this short introductory video.
  2. Ensure it runs properly
    • Type
    • python --version
    • or
    • python3 --version
    • on Windows you might need sth. like
    • C:\Python33\python --version
    • which should output something like
    • Python 3.3.1
  3. Prepare the first chapter ("Starting to code") of "Head First Programming". If you do not have a copy of the book, work through parts 1 ("Whetting Your Appetite") and 3 ("An Informal Introduction to Python") of the Python tutorial. (Until next week!)

Summary

Questions
and feedback...

Further Reading

Paul Barry and David Griffiths Head First Programming O'Reilly (2009)
Mark Pilgrim Dive Into Python 3 (2nd edition) Apress (October 23, 2009)
Python Software Foundation Python Documentation http://docs.python.org/py3k/
Bjarne Stroustrup Programming – Principles and Practice Using C++ Addison Wesley (December 15, 2008)