VOOZH about

URL: https://www.coursera.org/learn/illinois-tech-open-source-programming-mit?specialization=building-with-code-programming

⇱ Open Source Programming - Master's | Coursera


Open Source Programming - Master's

Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Open Source Programming - Master's

Included with

Ask Coursera

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

6 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Build toward a degree

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

6 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Build toward a degree

Build your subject-matter expertise

This course is part of the Building with Code: Programming Fundamentals and Open Source Specialization
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.

What's included

8 videos6 readings4 assignments1 discussion prompt1 ungraded lab

8 videosTotal 50 minutes
  • Instructor Welcome and Course Overview2 minutes
  • Instructor Introduction1 minute
  • Module 1 Introduction9 minutes
  • IPO Intro Ch. 2.1-2.38 minutes
  • Comments, Variables, Data Conversions 2.4-2.6 - Part 16 minutes
  • Comments, Variables, Data Conversions 2.4-2.6 - Part 27 minutes
  • Calculations, More on Data Output and Constants Ch. 2.7-2.9 - Part 110 minutes
  • Calculations, More on Data Output and Constants Ch. 2.7-2.9 - Part 26 minutes
6 readingsTotal 60 minutes
  • Syllabus10 minutes
  • Introductory Readings10 minutes
  • IPO Intro Ch. 2.1-2.310 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 Summary10 minutes
4 assignmentsTotal 225 minutes
  • IPO Quiz15 minutes
  • Comments, Variables, and Data Conversions Quiz15 minutes
  • Calculations, Data Output, and Constants Quiz15 minutes
  • Module 1 Summative Assessment180 minutes
1 discussion promptTotal 10 minutes
  • Meet and Greet Discussion10 minutes
1 ungraded labTotal 60 minutes
  • Module 1 Practice Lab60 minutes

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.

What's included

5 videos5 readings5 assignments1 ungraded lab

5 videosTotal 37 minutes
  • Module 2 Introduction10 minutes
  • If Else Statements Ch. 3.2 6 minutes
  • String Comparisons Ch. 3.3 9 minutes
  • Nested ifs, Logical Operators/Boolean Logic Ch. 3.4-3.6 - Part 18 minutes
  • Nested ifs, Logical Operators/Boolean Logic Ch. 3.4-3.6 - Part 24 minutes
5 readingsTotal 50 minutes
  • Decision Structures, Boolean Logic, If Statements Ch. 3.1 10 minutes
  • If Else Statements Ch. 3.2 10 minutes
  • String Comparisons Ch. 3.3 10 minutes
  • Nested ifs, Logical Operators/Boolean Logic Ch. 3.4-3.610 minutes
  • Module 2 Summary10 minutes
5 assignmentsTotal 240 minutes
  • Module 2 Introduction Quiz15 minutes
  • If Else Quiz15 minutes
  • String Comparisons Quiz15 minutes
  • Nested Ifs, Logical Operators, and Boolean Logic Quiz15 minutes
  • Module 2 Summative Assessment180 minutes
1 ungraded labTotal 60 minutes
  • Module 2 Practice Lab60 minutes

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

4 videosTotal 28 minutes
  • Module 3 Introduction4 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 readingsTotal 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 Summary10 minutes
  • Insights from an Industry Leader: Learn More About Our Program10 minutes
5 assignmentsTotal 405 minutes
  • Module 3 Introduction Quiz15 minutes
  • While and For Loop Structures Quiz15 minutes
  • Running Totals and Sentinel Values Quiz180 minutes
  • Input Validation and Nested Loops Quiz15 minutes
  • Module 3 Summative Assessment180 minutes
1 ungraded labTotal 60 minutes
  • Module 3 Practice Lab60 minutes

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

6 videosTotal 45 minutes
  • Module 4 Introduction6 minutes
  • Defining Functions Ch. 5.2-5.4 10 minutes
  • Passing Arguments and Value Returning Functions Ch. 5.5-5.8 - Part 17 minutes
  • Passing Arguments and Value Returning Functions Ch. 5.5-5.8 - Part 27 minutes
  • Modules Ch. 5.9-5.10 - Part 17 minutes
  • Modules Ch. 5.9-5.10 - Part 28 minutes
5 readingsTotal 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 Summary10 minutes
5 assignmentsTotal 240 minutes
  • Module 4 Introduction Quiz15 minutes
  • Defining Functions Quiz15 minutes
  • Passing Arguments and Value Returning Functions Quiz15 minutes
  • Modules Quiz15 minutes
  • Module 4 Summative Assessment180 minutes
1 ungraded labTotal 60 minutes
  • Module 4 Practice Lab60 minutes

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

8 videosTotal 49 minutes
  • Module 5 Introduction - Part 110 minutes
  • Module 5 Introduction - Part 24 minutes
  • Loops, Records, and Exceptions Ch. 6.2-6.4 - Part 17 minutes
  • Loops, Records, and Exceptions Ch. 6.2-6.4 - Part 26 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 18 minutes
  • List Functions, Two-Dim. Lists, Tuples Ch. 7.5-7.9 - Part 24 minutes
6 readingsTotal 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.910 minutes
  • Module 5 Summary10 minutes
6 assignmentsTotal 255 minutes
  • Module 5 Introduction Quiz15 minutes
  • Loops, Records, and Exceptions Quiz15 minutes
  • Lists Quiz15 minutes
  • List Slicing Quiz15 minutes
  • List Functions, Two-Dimentional Lists, and Tuples Quiz15 minutes
  • Module 5 Summative Assessment180 minutes
1 ungraded labTotal 60 minutes
  • Module 5 Practice Lab60 minutes

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

6 videosTotal 37 minutes
  • Module 6 Introduction - Part 15 minutes
  • Module 6 Introduction - Part 26 minutes
  • Dictionaries Ch. 9.1 - Part 15 minutes
  • Dictionaries Ch. 9.1 - Part 27 minutes
  • Sets Ch. 9.29 minutes
  • Serialization Ch. 9.3 5 minutes
5 readingsTotal 50 minutes
  • More on Strings Ch. 8 10 minutes
  • Dictionaries Ch. 9.1 10 minutes
  • Sets Ch. 9.210 minutes
  • Serialization Ch. 9.3 10 minutes
  • Module 6 Summary10 minutes
5 assignmentsTotal 240 minutes
  • Module 6 Introduction Quiz15 minutes
  • Dictionaries Quiz15 minutes
  • Sets Quiz15 minutes
  • Serialization Quiz15 minutes
  • Module 6 Summative Assessment180 minutes
1 ungraded labTotal 60 minutes
  • Module 6 Practice Lab60 minutes

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.

What's included

4 videos5 readings5 assignments1 ungraded lab

4 videosTotal 30 minutes
  • Module 7 Introduction5 minutes
  • Classes Ch. 10.2-10.49 minutes
  • Intro to Inheritance Ch. 11.1 8 minutes
  • Polymorphism Ch. 11.28 minutes
5 readingsTotal 50 minutes
  • Procedural & Object Oriented Programming (OOP) Ch. 10.110 minutes
  • Classes Ch. 10.2-10.410 minutes
  • Intro to Inheritance Ch. 11.1 10 minutes
  • Polymorphism Ch. 11.210 minutes
  • Module 7 Summary10 minutes
5 assignmentsTotal 240 minutes
  • Module 7 Introduction Quiz15 minutes
  • Classes Quiz15 minutes
  • Intro to Inheritance Quiz15 minutes
  • Polymorphism Quiz15 minutes
  • Module 7 Summative Assessment180 minutes
1 ungraded labTotal 60 minutes
  • Module 7 Practice Lab60 minutes

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.

What's included

9 videos6 readings6 assignments1 ungraded lab

9 videosTotal 61 minutes
  • Module 8 Introduction5 minutes
  • Widgets Ch. 13.3-13.8 - Part 16 minutes
  • Widgets Ch. 13.3-13.8 - Part 28 minutes
  • Databases - Making the Connection!6 minutes
  • Database Programming (Queries) | Python Docs Sqlite3 Ref. (API 2.0) - Part 110 minutes
  • Database Programming (Queries) | Python Docs Sqlite3 Ref. (API 2.0) (Part 2)9 minutes
  • Database Programming in Action7 minutes
  • Course Supplementals: Web Scraping5 minutes
  • Course Supplementals: Test Driven Development (TDD)5 minutes
6 readingsTotal 60 minutes
  • Graphical Interfaces with Tkinter Ch. 13.1-13.210 minutes
  • Widgets Ch. 13.3-13.810 minutes
  • Databases - Making the Connection!10 minutes
  • Database Programming (Queries) | Python Docs Sqlite3 Ref. (API 2.0) 10 minutes
  • Course Supplementals: Web Scraping, Test Driven Development (TDD)10 minutes
  • Module 8 Summary10 minutes
6 assignmentsTotal 255 minutes
  • Module 8 Introduction Quiz15 minutes
  • Widgets Quiz15 minutes
  • Databases Quiz15 minutes
  • Database Programming and Sqlite3 Quiz15 minutes
  • Course Supplementals Quiz15 minutes
  • Module 8 Summative Assessment180 minutes
1 ungraded labTotal 60 minutes
  • Module 8 Practice Lab60 minutes

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

1 assignmentTotal 180 minutes
  • Summative Course Assessment180 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.¹

Instructor

Illinois Tech
4 Courses2,709 learners

Explore more from Software Development

Why people choose Coursera for their career

👁 Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
👁 Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions

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.

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.

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.

Financial aid available,