Programming with Python

This online program is designed for anyone who is interested in acquiring programming skills in Python. No prior programming knowledge is required.

Get Your Brochure

Course Dates

STARTS ON

TBD

Course Duration

DURATION

10 weeks, online
5-10 hours per week

Course Duration

Key Outcomes

Python’s scope is nearly limitless. Data scientists, engineers, and developers are flocking to Python because it is versatile for applications ranging from web development to data science and from artificial intelligence to cybersecurity. In this program, you will learn the essentials of Python coding:

  • Identify, interpret, and apply core programming building blocks in Python code
  • Use algorithmic thinking to break up problems into smaller pieces and solve each piece individually
  • Recognize and apply best industry practices for programming
  • Interpret, use, and build on existing code and Python libraries

Program Modules

Designed as an online program focused on writing code using common structures in the Python programming language, content is shared via recorded faculty videos and live office hours with learning facilitators.

Module 1:

Writing Your First Program

  • Interpret and write code using variables
  • Recognize error messages in Python code
  • Demonstrate understanding of Python's core syntax rules
  • Translate simple algorithms to Python functions

Module 2:

Programming with Basic Logical Structures

  • Recognize and use basic data operators on Boolean
  • Interpret and write the correct syntax for conditionals
  • Recognize, interpret, and write programs with conditionals
  • Recognize and interpret programs with multiple interacting functions
  • Identify and solve programming errors through established debugging strategies

Module 3:

Expanding Logical Structure with Iteration

  • Recognize, interpret, and write programs using while loops and for loops
  • Apply indexes and slices to strings and lists to access individual parts
  • Recognize, interpret, and write programs that iterate through lists and strings with for loops
  • Evaluate provided test sets and write new test sets to verify that code works as expected

Module 4:

Deeper Applications of Iteration

  • Recognize, interpret, and write programs with nested loops
  • Recognize and interpret basic recursive functions
  • Translate simple recursive algorithms to Python functions

Module 5:

Applying Logic to Large Data Sets

  • Interpret and write code using operators, functions, and methods on strings and lists
  • Recognize and use common string and list methods
  • Identify the differences between mutable and immutable data types
  • Interpret documentation to find pre-existing methods that fulfill specific needs

Module 6:

Algorithmic Thinking and Problem Solving

  • Identify whether a problem can be solved by following an algorithm, applying a pattern
  • Use top-down design to break up medium-sized programming tasks into smaller pieces, solving each piece individually
  • Apply general style principles to write readable code

Module 7:

Practical Approaches to Efficiency

  • Express the efficiency of code snippets using well-established standards of abstraction
  • Recognize differences in algorithmic approaches based on computational efficiency
  • Identify differences in basic data structures, such as lists, sets, and dictionaries, based on computational efficiency
  • Interpret and write code using operators, functions, and methods on sets and dictionaries

Module 8:

Structuring Programs with Object-Oriented Programming

  • Recognize object-oriented programming constructs, such as objects, classes, fields, and methods
  • Correctly structure code using object-oriented programming constructs

Module 9:

Using Python Libraries for Greater Productivity

  • Interpret and write code that reads and writes data from files in the computer system
  • Interpret and use components from the documentation of Python libraries
  • Use online sources to find, compare, and install Python libraries

Module 10:

Putting Things Together – Capstone Project

  • Recognize best industry practices for writing and managing large programs. Write a medium-level program (300-500 lines) with some level of guidance

Module 1:

Writing Your First Program

  • Interpret and write code using variables
  • Recognize error messages in Python code
  • Demonstrate understanding of Python's core syntax rules
  • Translate simple algorithms to Python functions

Module 6:

Algorithmic Thinking and Problem Solving

  • Identify whether a problem can be solved by following an algorithm, applying a pattern
  • Use top-down design to break up medium-sized programming tasks into smaller pieces, solving each piece individually
  • Apply general style principles to write readable code

Module 2:

Programming with Basic Logical Structures

  • Recognize and use basic data operators on Boolean
  • Interpret and write the correct syntax for conditionals
  • Recognize, interpret, and write programs with conditionals
  • Recognize and interpret programs with multiple interacting functions
  • Identify and solve programming errors through established debugging strategies

Module 7:

Practical Approaches to Efficiency

  • Express the efficiency of code snippets using well-established standards of abstraction
  • Recognize differences in algorithmic approaches based on computational efficiency
  • Identify differences in basic data structures, such as lists, sets, and dictionaries, based on computational efficiency
  • Interpret and write code using operators, functions, and methods on sets and dictionaries

Module 3:

Expanding Logical Structure with Iteration

  • Recognize, interpret, and write programs using while loops and for loops
  • Apply indexes and slices to strings and lists to access individual parts
  • Recognize, interpret, and write programs that iterate through lists and strings with for loops
  • Evaluate provided test sets and write new test sets to verify that code works as expected

Module 8:

Structuring Programs with Object-Oriented Programming

  • Recognize object-oriented programming constructs, such as objects, classes, fields, and methods
  • Correctly structure code using object-oriented programming constructs

Module 4:

Deeper Applications of Iteration

  • Recognize, interpret, and write programs with nested loops
  • Recognize and interpret basic recursive functions
  • Translate simple recursive algorithms to Python functions

Module 9:

Using Python Libraries for Greater Productivity

  • Interpret and write code that reads and writes data from files in the computer system
  • Interpret and use components from the documentation of Python libraries
  • Use online sources to find, compare, and install Python libraries

Module 5:

Applying Logic to Large Data Sets

  • Interpret and write code using operators, functions, and methods on strings and lists
  • Recognize and use common string and list methods
  • Identify the differences between mutable and immutable data types
  • Interpret documentation to find pre-existing methods that fulfill specific needs

Module 10:

Putting Things Together – Capstone Project

  • Recognize best industry practices for writing and managing large programs. Write a medium-level program (300-500 lines) with some level of guidance
Download Brochure

Program Experience

Decorative image relating to text that follows

Office Hours with Learning Facilitators

Decorative image relating to text that follows

Demonstrations

Decorative image relating to text that follows

Coding Exercises in Each Module

Decorative image relating to text that follows

Bite-Sized Learning

Decorative image relating to text that follows

Knowledge Checks

Decorative image relating to text that follows

Dedicated Program Support Team

Decorative image relating to text that follows

Mobile Learning App

Decorative image relating to text that follows

Peer Discussion

Decorative image relating to text that follows

Capstone Project

Decorative image relating to text that follows

Bonus Content on Advanced Topics

Why Python?

Python is a good starting point for first-time coders. It uses simple, natural language syntax, almost like spoken English. It is powerful and it is versatile, favored by such diverse industry giants as Netflix, PayPal, NASA, Disney, and Dropbox. Python is used by 87% of data scientists.

  • User-Friendly Syntax: As an interpreted language, Python has simpler, more concise syntax than Java. Python's simple, concise syntax makes it easy to write algorithms with just a few lines of code
  • Open-Source Libraries: Pre-written code is readily available, with algorithms at your disposal, so you do not have to start every project from scratch. You can benefit from highly specific libraries – physics, web development, gaming, machine learning – by simply importing algorithms and applying them to your own data. It is plug and play at its best, with new functionalities being added all the time
  • Community Exchanges: Python’s popularity means it has great community support, with almost 8 million Python developers across the world to help you debug or resolve a programming challenge
  • Compatibility: Python is a cross-platform language and can be integrated easily with Windows and other platforms
  • Adaptability: Almost every field is adopting Python and needs both generalists and specialists who know how to use it. Fields as varied as gaming, web development, healthcare, and fintech prefer Python over other programming languages, making it the must-learn language for STEM professionals and data scientists

sources: generalassemb.ly

Who Should Attend?

This online program is designed for anyone who is interested in acquiring programming skills in Python. No prior programming knowledge is required.

Program Faculty

Faculty Member Kelly Rivers

Kelly Rivers

Assistant Teaching Professor, School of Computer Science, Carnegie Mellon University

An assistant teaching professor in the School of Computer Science, Kelly Rivers teaches introductory programming, including “Principles of Computing,” “Fundamentals of Programming,”... More info

Faculty Member Anil Ada

Anil Ada

Associate Teaching Professor, School of Computer Science, Carnegie Mellon University

Anil Ada is an expert in theoretical computer science, teaching “Fundamentals of Programming and Computer Science” and “Great Ideas in Theoretical Computer Science” as an associate teaching professor in the School of Computer Science... More info

Certificate

Example image of certificate that will be awarded after successful completion of this program

Certificate

Upon successful completion of the program, participants will receive a verified digital certificate of completion from Carnegie Mellon University’s School of Computer Science Executive Education.

Download Brochure

Your digital certificate will be issued in your legal name and emailed to you at no additional cost, upon completion of the program, as per the stipulated requirements. All certificate images are for illustrative purposes only and may be subject to change at the discretion of Carnegie Mellon University’s School of Computer Science Executive Education.

Apply Now

Early registrations are encouraged. Seats fill up quickly!