When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 9 modules in this course
Contemporary open-source programming languages and frameworks are presented in this course. Students will consider design and development topics in system, graphical user interface, network, and web programming. Dynamic scripting languages are covered using object-oriented, concurrent, and functional programming paradigms. Concepts gained throughout the course are reinforced with numerous exercises which will culminate in an open-source programming project.
As a great learning experience, Python is a versatile and widely used programming language that can be used for a wide range of applications, including data science, machine learning, web development, and more. Learning Python can lead to many career benefits, including increased job opportunities, higher salaries, and the ability to work on exciting and innovative projects. Additionally, adding online courses and certifications to a resume can demonstrate a commitment to professional development and a willingness to learn new skills!
Required Textbook: Starting Out with Python: 5th Edition, Tony Gaddis
Software Requirements: Python, Visual Studio Code
To truly excel in this course and get the most out of it, a solid foundation in several areas is key. Familiarity with computer and peripheral hardware, including their components and functions, will definitely help. Understanding the basics of computer networking, mobile computing, and cloud computing will also provide a strong base. Additionally, a comfortable grasp of Python programming is crucial for success in this course. But don't worry if you're not quite there yet! To help you build the necessary skills, we highly recommend checking out our Performance Based Admission courses, which cover the fundamental topics mentioned above. Additionally, if you need some Python practice, consider taking our Introduction to Open-Source Application Development course. These prior courses will equip you with the essential knowledge and set you up for success in this exciting material.
Welcome to Open Source Programming! In Module 1, students will be equipped with the ability to execute mathematical calculations using operators. Learners will master the art of annotating code through comments, declaring variables, and employing data conversion functions for robust program functionality. The module culminates in students applying their skills to design programs that solicit user input, process information, and clearly display results using the 'print' function, laying a strong foundation for proficient coding practices.
Comments, Variables, Data Conversions 2.4-2.6 - Part 1•6 minutes
Comments, Variables, Data Conversions 2.4-2.6 - Part 2•7 minutes
Calculations, More on Data Output and Constants Ch. 2.7-2.9 - Part 1•10 minutes
Calculations, More on Data Output and Constants Ch. 2.7-2.9 - Part 2•6 minutes
6 readings•Total 60 minutes
Syllabus•10 minutes
Introductory Readings•10 minutes
IPO Intro Ch. 2.1-2.3•10 minutes
Comments, Variables, Data Conversions Ch. 2.4-2.6 •10 minutes
Calculations, More on Data Output and Constants Ch. 2.7-2.9 •10 minutes
Module 1 Summary•10 minutes
4 assignments•Total 225 minutes
IPO Quiz•15 minutes
Comments, Variables, and Data Conversions Quiz•15 minutes
Calculations, Data Output, and Constants Quiz•15 minutes
Module 1 Summative Assessment•180 minutes
1 discussion prompt•Total 10 minutes
Meet and Greet Discussion•10 minutes
1 ungraded lab•Total 60 minutes
Module 1 Practice Lab•60 minutes
Module 2: Decision Structures and Boolean Logic
Module 2•6 hours to complete
Module details
This module takes students into the depths of decision-making within software development, emphasizing the construction of nested decisions and the application of Boolean logic through logical operators. Participants will learn to adeptly use decision structures to evaluate and manipulate strings, honing their ability to write conditions that guide program flow. The coursework focuses on developing the skill to implement both primary and alternate decision paths, ensuring students can craft complex, logical, and responsive code structures.
Nested Ifs, Logical Operators, and Boolean Logic Quiz•15 minutes
Module 2 Summative Assessment•180 minutes
1 ungraded lab•Total 60 minutes
Module 2 Practice Lab•60 minutes
Module 3: Repetition Structures
Module 3•9 hours to complete
Module details
This module introduces students to the intricacies of validating user input across various data types, ensuring robust data handling in programming. Learners will explore the power of nested loops to perform complex iterations and develop the skill to manage running totals within loops for effective data processing. The course also covers the strategic use of sentinel values for loop control, giving users the ability to determine the sequence flow. Emphasis is placed on mastering repetition through popular looping constructs like 'while' and 'for' loops, equipping students with the tools to write efficient and controlled looping mechanisms.
What's included
4 videos6 readings5 assignments1 ungraded lab
Show info about module content
4 videos•Total 28 minutes
Module 3 Introduction•4 minutes
While and For Loop Structures Ch. 4.2-4.3 •10 minutes
Running Totals and Sentinel Values Ch. 4.4-4.5 •6 minutes
Input Validation and Nested Loops Ch. 4.6-4.7 •8 minutes
6 readings•Total 60 minutes
Introduction to Repetition Structures Ch. 4.1 •10 minutes
While and For Loop Structures Ch. 4.2-4.3 •10 minutes
Running Totals and Sentinel Values Ch. 4.4-4.5 •10 minutes
Input Validation and Nested Loops Ch. 4.6-4.7 •10 minutes
Module 3 Summary•10 minutes
Insights from an Industry Leader: Learn More About Our Program•10 minutes
5 assignments•Total 405 minutes
Module 3 Introduction Quiz•15 minutes
While and For Loop Structures Quiz•15 minutes
Running Totals and Sentinel Values Quiz•180 minutes
Input Validation and Nested Loops Quiz•15 minutes
Module 3 Summative Assessment•180 minutes
1 ungraded lab•Total 60 minutes
Module 3 Practice Lab•60 minutes
Module 4: Functions
Module 4•7 hours to complete
Module details
This module introduces the essential skills for enhancing program modularity and efficiency through the use of system and custom modules. Students will learn to import pre-existing system modules, create their own, and understand the mechanics of importing them into new programs. The course places a strong emphasis on defining user functions, passing arguments effectively, and returning values, reinforcing the concept of code reusability and the development of well-structured, modular code.
What's included
6 videos5 readings5 assignments1 ungraded lab
Show info about module content
6 videos•Total 45 minutes
Module 4 Introduction•6 minutes
Defining Functions Ch. 5.2-5.4 •10 minutes
Passing Arguments and Value Returning Functions Ch. 5.5-5.8 - Part 1•7 minutes
Passing Arguments and Value Returning Functions Ch. 5.5-5.8 - Part 2•7 minutes
Modules Ch. 5.9-5.10 - Part 1•7 minutes
Modules Ch. 5.9-5.10 - Part 2•8 minutes
5 readings•Total 50 minutes
Introduction to Functions Ch. 5.1 •10 minutes
Defining Functions Ch. 5.2-5.4 •10 minutes
Passing Arguments and Value Returning Functions Ch. 5.5-5.8 •10 minutes
Modules Ch. 5.9-5.10 •10 minutes
Module 4 Summary•10 minutes
5 assignments•Total 240 minutes
Module 4 Introduction Quiz•15 minutes
Defining Functions Quiz•15 minutes
Passing Arguments and Value Returning Functions Quiz•15 minutes
Modules Quiz•15 minutes
Module 4 Summative Assessment•180 minutes
1 ungraded lab•Total 60 minutes
Module 4 Practice Lab•60 minutes
Module 5: File and List Processing
Module 5•7 hours to complete
Module details
This module delves into the manipulation of complex data structures, teaching students how to efficiently process lists within lists and utilize tuples as immutable sequences for data integrity. Learners will master slicing techniques for swift retrieval of data from lists, and understand how to aggregate multiple data items within single list variables for organized storage and access. Additionally, the module covers the creation and processing of file-based data storage, along with robust exception handling practices to ensure error-free file operations, empowering students with the tools for sophisticated data handling and resilience in programming.
What's included
8 videos6 readings6 assignments1 ungraded lab
Show info about module content
8 videos•Total 49 minutes
Module 5 Introduction - Part 1•10 minutes
Module 5 Introduction - Part 2•4 minutes
Loops, Records, and Exceptions Ch. 6.2-6.4 - Part 1•7 minutes
Loops, Records, and Exceptions Ch. 6.2-6.4 - Part 2•6 minutes
Lists Ch. 7.1-7.2 •6 minutes
List Slicing Ch. 7.3-7.4 •4 minutes
List Functions, Two-Dim. Lists, Tuples Ch. 7.5-7.9 - Part 1•8 minutes
List Functions, Two-Dim. Lists, Tuples Ch. 7.5-7.9 - Part 2•4 minutes
6 readings•Total 60 minutes
File Processing Ch. 6.1 •10 minutes
Loops, Records, and Exceptions Ch. 6.2-6.4 •10 minutes
Lists Ch. 7.1-7.2 •10 minutes
List Slicing Ch. 7.3-7.4 •10 minutes
List Functions, Two-Dim. Lists, Tuples Ch. 7.5-7.9•10 minutes
Module 5 Summary•10 minutes
6 assignments•Total 255 minutes
Module 5 Introduction Quiz•15 minutes
Loops, Records, and Exceptions Quiz•15 minutes
Lists Quiz•15 minutes
List Slicing Quiz•15 minutes
List Functions, Two-Dimentional Lists, and Tuples Quiz•15 minutes
Module 5 Summative Assessment•180 minutes
1 ungraded lab•Total 60 minutes
Module 5 Practice Lab•60 minutes
Module 6: More on Strings, Dictionaries and Sets
Module 6•6 hours to complete
Module details
This module guides students through the learning process of serializing various objects, such as lists and dictionaries, allowing for persistent storage to files. Students will learn how sets are created and manipulated to handle unique elements efficiently, enhancing their data structuring skills. The course also dives into the creation and utilization of dictionaries, emphasizing key-based retrieval to traverse and manipulate key-value pairs, equipping students with advanced techniques for data organization and retrieval in Python programming.
What's included
6 videos5 readings5 assignments1 ungraded lab
Show info about module content
6 videos•Total 37 minutes
Module 6 Introduction - Part 1•5 minutes
Module 6 Introduction - Part 2•6 minutes
Dictionaries Ch. 9.1 - Part 1•5 minutes
Dictionaries Ch. 9.1 - Part 2•7 minutes
Sets Ch. 9.2•9 minutes
Serialization Ch. 9.3 •5 minutes
5 readings•Total 50 minutes
More on Strings Ch. 8 •10 minutes
Dictionaries Ch. 9.1 •10 minutes
Sets Ch. 9.2•10 minutes
Serialization Ch. 9.3 •10 minutes
Module 6 Summary•10 minutes
5 assignments•Total 240 minutes
Module 6 Introduction Quiz•15 minutes
Dictionaries Quiz•15 minutes
Sets Quiz•15 minutes
Serialization Quiz•15 minutes
Module 6 Summative Assessment•180 minutes
1 ungraded lab•Total 60 minutes
Module 6 Practice Lab•60 minutes
Module 7: Classes and Objects & Inheritance
Module 7•6 hours to complete
Module details
In this module, students will explore the dynamic capabilities of object-oriented programming (OOP) by creating versatile classes that demonstrate polymorphism through multiple forms of inheritance. They will learn how to extend the functionality of existing classes, allowing for the refined expansion of an application's capabilities. The course provides a practical approach to OOP principles, guiding students through the construction and instantiation of classes and objects, laying the foundation for robust and scalable software design.
Module 8: Graphical User Interfaces and Intro to Database Programming with SQLite3
Module 8•7 hours to complete
Module details
This module offers a practical approach to database programming using SQLite3, a user-friendly database system renowned for its lightweight nature. Students will understand how to craft database tables, execute record operations such as inserts, updates, and deletes using SQLite3's diverse methods. Additionally, the course will cover establishing database connections to manage structured data sources effectively. As a step further into application development, learners will also acquire the skills to create sophisticated Graphical User Interfaces (GUIs) complete with an array of interactive widgets. Covered also will be insights on how to merge backend logic with frontend aesthetics. Also included in this module are supplemental topics covering Test Driven Development or 'Unit Testing' and Web scraping techniques.
Course Supplementals: Web Scraping, Test Driven Development (TDD)•10 minutes
Module 8 Summary•10 minutes
6 assignments•Total 255 minutes
Module 8 Introduction Quiz•15 minutes
Widgets Quiz•15 minutes
Databases Quiz•15 minutes
Database Programming and Sqlite3 Quiz•15 minutes
Course Supplementals Quiz•15 minutes
Module 8 Summative Assessment•180 minutes
1 ungraded lab•Total 60 minutes
Module 8 Practice Lab•60 minutes
Summative Course Assessment
Module 9•3 hours to complete
Module details
This module contains the summative course assessment that has been designed to evaluate your understanding of the course material and assess your ability to apply the knowledge you have acquired throughout the course. Be sure to review the course material thoroughly before taking the assessment.
What's included
1 assignment
Show info about module content
1 assignment•Total 180 minutes
Summative Course Assessment•180 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Build toward a degree
This course is part of the following degree program(s) offered by Illinois Tech. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
View eligible degrees
Build toward a degree
This course is part of the following degree program(s) offered by Illinois Tech. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
¹Successful application and enrollment are required. Eligibility requirements apply. Each institution determines the number of credits recognized by completing this content that may count towards degree requirements, considering any existing credits you may have. Click on a specific course for more information.
Illinois Tech is a top-tier, nationally ranked, private research university with programs in engineering, computer science, architecture, design, science, business, human sciences, and law. The university offers bachelor of science, master of science, professional master’s, and Ph.D. degrees—as well as certificates for in-demand STEM fields and other areas of innovation. Talented students from around the world choose to study at Illinois Tech because of the access to real-world opportunities, renowned academic programs, high value, and career prospects of graduates.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.