Introduction to Open Source Application Development (Coursera)

Offered by Illinois Tech,
Introduction to Open Source Application Development (Coursera)

This course introduces basic concepts of systems programming using a modern open source language. You will learn to apply basic programming concepts toward solving problems, writing pseudocode, working with and effectively using basic data types, abstract data types, control structures, code modularization and arrays. You will learn to detect errors, work with variables and loops, and discover how functions, methods, and operators work with different data types. You will also be introduced to the object paradigm including classes, inheritance, and polymorphism.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Learning Python has become increasingly popular in recent years, and for a good reason. Python is a versatile programming language that can be used for a wide range of applications, including data science, machine learning, web development, and more. In an introductory Python course such as this, you can expect to learn the basics of Python syntax, data types, control structures, and functions. 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.
Upon successful completion of this course, you will be able to:

  • Recall and describe software application and development theory and concepts
  • Write, compile, execute, troubleshoot, analyze, evaluate, and resolve simple problems through program coding using Python computer language.
  • Develop, synthesize, and identify important language standard libraries and utilities.
  • Apply data transfer techniques between modules using parameters and return values.
  • Construct applications to use simple files for input and output.
  • Implement arrays as structures to contain data.
  • Use a higher-level programming language to code, test, and debug software designs.
  • Implement concepts of Object Oriented Programming (OOP), inheritance and polymorphism.
  • Describe integration of Graphical User Interfaces (GUIs) and event driven programming.
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions (ABET Computing Criterion 3.1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline (ABET Computing Criterion 3.2)
  • Identify and analyze user needs and take them into account in the selection, creation, evaluation, and administration of computer-based systems (ABET IT Criterion 3.6)

Syllabus

Module 1: Introduction to Python and Programming
Welcome to Introduction to Open Source Application Development! In this module, you will learn to install and configure Python and Visual Studio Code (VSC). You will gain proficiency in programming fundamentals, including declaring variables, describing data types, and implementing programming logic using flowcharts and pseudocode. Additionally, you will acquire the skills to perform arithmetic operations and effectively work with code in Visual Studio Code, culminating in the ability to upload your coding results to the appropriate platform.

Module 2: Sequential Control Structures, Basic Input/Output, Type Conversions
Module 2 focuses on essential programming concepts and skills. You will learn to format output effectively, leveraging various techniques to present data clearly. Additionally, you will explore the importance of type conversion functions and how to use them proficiently. Finally, you will gain an understanding of the sequential flow of a program, mastering the art of designing programs that interact with users through input and output statements.

Module 3: Decision Control Structure (Logical Statements)
In this module, you will learn how to utilize decision alternatives and construct decision structures using conditional statements like 'if' conditions. This essential skill will enable you to create dynamic and responsive programs that adapt their behavior based on specific conditions and criteria.

Module 4: Repetition Control Structure, Logical Statements cont.
In this module, you will learn how to construct nested loops to handle complex repetitive tasks efficiently. Additionally, you'll gain proficiency in constructing both 'For' and 'While' loops, empowering you to create versatile and optimized code for various scenarios, from iterative calculations to data processing.

Module 5: Functions and Program Modularity, Common Library Packages, Debugging
This module is designed to enhance your programming skills by focusing on key areas. You'll learn the art of debugging source code, equipping you with the ability to identify and resolve errors effectively. You will explore how to work with imported modules, expanding your code's functionality. And lastly, you'll delve into defining and implementing user-defined functions, enabling you to organize and streamline your code while building reusable blocks of logic for various applications.

Module 6: List Processing, File IO Processing
In this module, you will explore essential data manipulation skills. You will learn how to efficiently read and write data to and from files, a critical aspect of real-world data processing. Additionally, you'll master list manipulation techniques, including list slicing, and expand your capabilities by creating lists, including multidimensional ones, enabling you to handle and analyze structured data effectively.

Module 7: Object Oriented Programming (OOP) including Inheritance, UML
In this module, you will dive into object-oriented programming (OOP) principles and practices. You will demonstrate your understanding of unified modeling through UML class diagramming, a crucial skill for designing and visualizing software systems. You will also learn how to harness the power of inheritance to build upon existing classes, and you will create your own classes and class objects, paving the way for modular, efficient, and scalable software development.

Module 8: Crafting Graphical User Interfaces (GUI)
In this module, you will learn how to leverage the Tkinter module to create your own customized GUIs, giving you the ability to design user-friendly software interfaces. Furthermore, you will gain an understanding of the fundamental building blocks of GUIs as you describe and work with basic controls that constitute an interactive and visually engaging user interface.

Summative Course Assessment
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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Creative Programming for Digital Media & Mobile Apps (Coursera) Coursera
University of London,Goldsmiths, University of London

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Nov 9th 2026
5-12 Weeks
Big Data Analysis with Scala and Spark (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Big Data Analysis with Scala and Spark (Coursera)

Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we'll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout.

Nov 9th 2026
4 Weeks
Uso de bases de datos con Python (Coursera) Coursera
University of Michigan

Uso de bases de datos con Python (Coursera)

Este curso presentará a los estudiantes los conceptos básicos del lenguaje de consulta estructurado (Structured Query Language, SQL), así como el diseño básico de bases de datos para almacenar datos como parte de una iniciativa de varios pasos para recopilar, analizar y procesar datos. El curso utilizará SQLite3 como base de datos. También crearemos rastreadores web y procesos de visualización y recopilación de datos de varios pasos. Utilizaremos la biblioteca D3.js para realizar la visualización básica de datos.

Nov 9th 2026
5-12 Weeks
Understanding and Applying Text Embeddings (Coursera) Coursera
DeepLearning.AI

Understanding and Applying Text Embeddings (Coursera)

The Vertex AI Text-Embeddings API enhances the process of generating text embeddings. These text embeddings, which are numerical representations of text, play a pivotal role in many tasks involving the identification of similar items, like Google searches, online shopping recommendations, and personalized music suggestions.

Nov 9th 2026
1 Week
Gen AI for Code Generation for Python (Coursera) Coursera
Edureka

Gen AI for Code Generation for Python (Coursera)

Welcome to the 'Gen AI for Code Generation for Python' course, where you'll embark on a journey to explore and develop your skills in the art of code generation with Generative AI. Throughout this short course, you will delve into various techniques for generating Python code effortlessly, ranging from simple scripts to complete end-to-end projects.

Nov 9th 2026
1 Week
Learn JavaScript (Coursera) Coursera
Scrimba

Learn JavaScript (Coursera)

This is perhaps the most interactive JavaScript course ever recorded. It contains 140+ coding challenges, meaning that you will finally build that ever-so-important JavaScript muscle memory. You will solve the challenges directly in the browser thanks to Scrimba's interactive video technology, so there's not setup needed. Say goodbye to "tutorial hell" and get ready to start feeling your JavaScript superpowers grow exponentially.

Nov 9th 2026
4 Weeks
Selenium WebDriver with Python (Coursera) Coursera
Whizlabs

Selenium WebDriver with Python (Coursera)

“Selenium WebDriver with Python” is a foundational course that aims to provide a comprehensive understanding of Selenium and its components. It also helps in understanding how Selenium WebDriver Operates. This course begins by demonstrating an environment setup for Selenium WebDriver with Python. A brief description of locating Web elements and web Interactions is provided in this course. This course covers an overview of testing frameworks with Selenium WebDriver. Some advanced topics such as Handling Popup, Alerts, Multiple Browser Tabs, Mouse and Keyboard interactions are also highlighted in this course.

Nov 9th 2026
3 Weeks
Introduction to Software, Programming, and Databases (Coursera) Coursera
IBM

Introduction to Software, Programming, and Databases (Coursera)

There are many types of software and understanding software can be overwhelming. This course aims to help you understand more about the types of software and how to manage software from an information technology (IT) perspective. This course will help you understand the basics of software, cloud computing, web browsers, development and concepts of software, programming languages, and database basics.

Nov 9th 2026
5-12 Weeks