If you are a student of CECOS University and enrolled for this course, you can access the entire course by logging into the learning management system (LMS).

Spring 2015Spring 2016

Lecture-01 (231 MB)

What is programming, Why programming skills are so important, Overview of different programming languages, What is Python and what it can do for you, Interpreter vs. compiler, Compiled vs. interpreted languages, Python resources: books and online courses, Flvorrs of Python: v3.4 vs. v2.7, Python distributions, How to install and configure Anaconda, Basic Python statements (print, +, - etc.), Types of programming errors, Debugging, Commenting code.

Lecture-02 (47.3 MB)

What is Linting, Commenting: single vs. multiline, Values and data types/classes, String class, Integer class, Float class, What are floating-point numbers, Floating-point arithmetic, Perils of floating-point representation, Type conversion, Variables, Rules for variable naming, Keywords, Variable reassignment, variable update, Statements and expressions, Operators and operands, Operator precedence, String formatting, Console input

Lecture-03 (24.7 MB)

Conditional statements, Good programming practices, Comparison/relational operators, Boolean data type and logical operators, Loops: for loop and while loop.

Lecture-04 (42.4 MB)

Lists, Lists vs. variables, List indexing, Mutable vs. immutable distinction, Mutability of strings and lists, Slicing of list, Building lists from scratch, Builtin list functions, Dictionaries, List vs. Dictionary

Lecture-05 (26.3 MB)

Getting a deeper understanding of Python code using Spyder Debugger and Online Python Tutor, Common student confusions about indentation, Reading a list of lists, Generating list of lists, Merging two lists into a dictionary using zip method, Merging two lists into a dictionary with enumerate method,

Lecture-06 (25 MB)

Offline Python Tutor: How to install and use it, Tuples, Tuples vs. list, Immutability of tuples, Using tuples to sort a dictionary by key or values

Lecture-07 (2.5 MB)

Functions, Why do we need functions, Syntax of a function, Arguments vs. parameters, Function definition vs. function calls, Return statement, Good programming practices for writing functions, Docstring, Function arguments, Required arguments, Keyword arguments

Lecture-08 (1 MB)

Default arguments, Variable-length arguments: *args and **kwargs, Modules, Building modules, Importing modules

Lecture-09 (117 MB)

Object-oriented programming: Why do we need it?, Procedural vs. object-oriented programming, What are classes?

Lecture-10 (24.3 MB)

Methods, Instance variables, Class variables, Inheritance and encapsulation, Basics of GUI designing, Tools needed for GUI design

Lecture-11 & 12 (593 KB)

Skeleton code for GUI, Simple GUI calculator, File picker, Buttons with pictures in background using CSS, GUI tables

There are no PowerPoint files for these final two lectures available at this point in time.

We are currently cooking up some new materials for Spring 2016. Stay tuned!