Pre-College Programs
Summer@Brown Courses

« Return to Course Catalog

Taming the Python- Programming in Python using Linux

This course is expected to run but has not yet been scheduled.

Course Description

The main aim of this course is to enable students to learn about a powerful programming language (python) and familiarize with its most important scripting tools. Computer programming skills are a hot commodity in this ever connected world and this course will get students started in the path to become a successful software programmer.

Python is considered as one of the most user friendly interpreted, object-oriented, high-level programming language. It was developed by Guidon Van Rossum in 1980 and was fully implemented in 1991. The name python was inspired by the developers from the television series “Monty python’s Flying circus” as homage to the language’s innate ease of use & flexibility.

Python is an elegant language with simple syntax ideal for prototype development & ad-hoc programming tasks. It has a large standard library that performs common tasks that can be used as modules to facilitate faster scripting.

Learning to program in python is a very important skill to acquire as it is widely used, not only in mega corporations like Google, YouTube & Yahoo but also in scientific powerhouses like CERN & NASA. Python is commonly used for creating web applications for Apache Server, scientific computation & artificial intelligence. It is also used as a scripting language in many software packages such as Abacqus, Maya, and Blender & Paint shop pro. This course is therefore designed to help students learn and program in python language. The course is ideal for students who are familiar with the basics of computing, logic development and programming.

We will learn the basics of python by building on existing knowledge of logic creation in students. We will then study indentation techniques, “if”, “for”, “while”, “class”, and “def” statements in python. The usage of strings, variables, modules and porting codes for faster programming will also be discussed with examples. The importance of python libraries such as “Numpy”, “Scipy” and “Matplotlib” and their applications in scientific computing will also be taught.

These concepts will then be used in a sequence to make simple scripts. Those simple scripts will then be stitched into a complex program performing a variety of tasks. Students would be expected to write, debug & execute scripts in real-time during the class. Even though the current version of python is 3.0, we will be learning python 2.7 in the class as it has many portable modules available and is more suited for beginners.

The goal of the course is to enable students to learn about programming in python. The students upon completion of this course will be able to write their own python scripts. It will motivate them to become future pythonists and create interesting programs.

A good exposure to atleast one programming language (Pearl or Java or C or Linux system) is essential and access to a laptop is a must. Therefore students are strongly recommended to bring their own computers to the class for coding in class. Additional reading material will also be provided in the class.