What is Python?
Python is a popular programming language. It was created by Guido van Rossum, and released in 1991.
It is used for:
- web development (server-side),
- software development,
- mathematics,
- system scripting.
What can Python do?
- Python can be used on a server to create web applications.
- Python can be used alongside software to create workflows.
- Python can connect to database systems. It can also read and modify files.
- Python can be used to handle big data and perform complex mathematics.
- Python can be used for rapid prototyping, or for production-ready software development.
Why Python?
- Python works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc).
- Python has a simple syntax similar to the English language.
- Python has syntax that allows developers to write programs with fewer lines than some other programming languages.
- Python runs on an interpreter system, meaning that code can be executed as soon as it is written. This means that prototyping can be very quick.
- Python can be treated in a procedural way, an object-oriented way or a functional way.
Good to know
- The most recent major version of Python is Python 3, which we shall be using in this tutorial. However, Python 2, although not being updated with anything other than security updates, is still quite popular.
- In this tutorial Python will be written in a text editor. It is possible to write Python in an Integrated Development Environment, such as Thonny, Pycharm, Netbeans or Eclipse which are particularly useful when managing larger collections of Python files.
Python Syntax compared to other programming languages
- Python was designed for readability, and has some similarities to the English language with influence from mathematics.
- Python uses new lines to complete a command, as opposed to other programming languages which often use semicolons or parentheses.
- Python relies on indentation, using whitespace, to define scope; such as the scope of loops, functions and classes. Other programming languages often use curly-brackets for this purpose.
1. Objectives
In the this course the student will be introduced to the field of computer science. The student will gain
essential knowledge and will learn programming concepts with particular attention to solving real world
problems. In this course the student will acquire skills in problem analysis, solution design and program
construction.
2. Reference Material
• Abelson, Harold, Gerald Jay Sussman, and Julie Sussman. Structure and interpretation of
computer programs. Justin Kelly, 1996.
• Knuth, Donald. The Art of Programming. Addison-Wesley. 1968.
• Website: composingprograms.com
3. Course Organization
·
Day Topics
·
Day 1 Course orientation, introduction and
motivation
·
Day 2 Problem Solving Intro to CS program courses
·
Day 3 Operating systems; cloud computing;
containers; web services
·
Day 4 Introduction
to programming. Case study: Newton’s square root method
·
Day 5 Elements of programming
·
Day 6 Control
structures
·
Day 7 Arrays,
lists, dictionaries
·
Day 8 Defining new data types; basics of abstraction
·
Day 9 Defining new functions Lexical scopes
Recursion
·
Day 10 File
handling Exceptions
·
Day 11 Data
abstractions, sequences, mutable data
·
Day 12 Object
abstractions Handling problems
·
Day 13 Static data types Pointers Memory management
basics
·
Day 14 function parameters; passing by value and by
ref- Higher order functions
·
Day 15 Project
Presentations
Best luck..