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).


Fall 2015 (MS)Spring 2015 (BS)Spring 2016

Lecture-01 (297 MB)

Welcome, Instructors Introduction, Attendance policy, Quiz policy, Laptop policy, Plagiarism policy, What’s programming and why should you learn it?, Programming: Expectation vs. Reality, Course objectives, Why learn Python?, What is Python? Learning resources for Python

Lecture-02 (158 MB)

Getting your computers ready!, Installing a tool to remove Junk and Crapware, Installing a great antivirus, Installing remote assistance software, Installing Python, Installing Offline Python Tutor, Installing an IDE, Python print commands, Basic Python operators, Semantic, Syntax, and Run-time Errors, Single and multiline comments, Values and datatypes

Lecture-03 (180 MB)

Good coding practices: Using autocomplete, Understanding errors, Removing stylistic errors a.k.a. linting; Values and data types, String class, Getting user input, Conditional statements, Comparison or relational operator, Logical operators, Loops: For loop, While loop

  Lecture-04 (77 MB)

Understanding code indentation, When to use which loop, Using range function properly, Variables, Variable update and augmentation, More on while loops, String Formatting, Chained comparison, List, List vs. variable, List indexing, Mutable vs. immutable distinction, Mutability of lists, Immutability of strings, Slicing a list, Building a list from scratch, Convenience functions for lists, Dictionaries, List vs. Dictionary, More on lists, Merging two lists into a dictionary with zip and enumerate methods

Lecture-05 (235 MB)

Important lessons from the last assignment, Understanding floating-point numbers, Decimal number system, Binary number system, Floating-point numbers in base-10 system, Floating point numbers in base-2 system. Problem with floating-point comparison

Lecture-06 (41 MB)

 Floating-point comparison, Tuples, Tuples vs. lists, Immutability of lists, How to find built-in convience functions for any data-type, Using tuples to sort dictionary by keys or values, Functions, What are Functions and why are they used, Function definition and function calls, Arguments vs. parameters, Function docstring and how to write it.

Lecture-07 (37 MB)

 Types of function arguments, Required arguments, Keyword arguments, Variable-length arguments *args, Variable-length keyword arguments **kwargs

More lectures coming up soon!

Last updated: 15 Dec 2015; 08:46 P.S.T.

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, Flavors of Python: v3.4 vs. v2.7, Python distributions, How to install and configure Anaconda, Basic Python statements (print, +, - etc.), Types of programming errors, Code debugging, Code commenting.

Lecture-02 (47.3 MB)

Linting, Commenting, Single vs. multiline comments, Values, Data types/classes, String class, Integer class, Float class, 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 or 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 lists, 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 value.

Lecture-07 (2.5 MB)

Functions, Why do we need functions, Syntax of functions, 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 the classes?

Lecture-10 (24.3 MB)

Methods, Instance variables, Class variables, Inheritance and encapsulation, Basics of GUI design, 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!