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

Build a Data Warehouse Using BigQuery (Coursera) Coursera
Starweaver

Build a Data Warehouse Using BigQuery (Coursera)

Unlock the power of Google BigQuery as you embark on a journey to become proficient in data warehouse building and advanced querying. In this comprehensive course, you'll learn to harness the capabilities of BigQuery, from setting up and accessing the platform to creating data warehouses using both the user interface and Python. Through hands-on lessons and practical applications, you'll develop the fundamental skills needed to manage, query, and optimize your data in this powerful cloud-based platform.

Nov 23rd 2026
1 Week
Programming with Scratch (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Programming with Scratch (Coursera)

Learning coding is not only about understanding the programming language being used, but also developing important computational thinking skills, which are useful for problem solving across many disciplinary areas. In this course, students will learn basic programming skills by creating interactive storybooks, animations, and games with Scratch, which is a block-based visual programming language for anyone new to coding.

Nov 23rd 2026
5-12 Weeks
Introducción a UML (Coursera) Coursera
Universidad de los Andes

Introducción a UML (Coursera)

Bienvenidos a este curso de introducción al Lenguaje de Modelado Unificado, o UML por su sigla en inglés. Este curso surge como respuesta a la necesidad de los ingenieros de software de desarrollar la habilidad de abstraer y representar en un modelo problemas o soluciones. Esta habilidad es especialmente importante en el mundo del software donde las tecnologías son tan cambiantes. Un modelo te provee una forma de comunicar y validar un entendimiento, independiente de la tecnología en la que construirás una solución.

Nov 23rd 2026
4 Weeks
Open Source Programming - Master's (Coursera) Coursera
Illinois Tech

Open Source Programming - Master's (Coursera)

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.

Nov 23rd 2026
5-12 Weeks
Big Data Analysis Deep Dive (Coursera) Coursera
Alibaba Cloud Academy

Big Data Analysis Deep Dive (Coursera)

The job market for architects, engineers, and analytics professionals with Big Data expertise continues to increase. The Academy’s Big Data Career path focuses on the fundamental tools and techniques needed to pursue a career in Big Data. This course includes: data processing with python, writing and reading SQL queries, transmitting data with MaxCompute, analyzing data with Quick BI, using Hive, Hadoop, and spark on E-MapReduce, and how to visualize data with data dashboards. Work through our course material, learn different aspects of the Big Data field, and get certified as a Big Data Professional!

Nov 23rd 2026
5-12 Weeks
Videojuegos: ¿de qué hablamos? (Coursera) Coursera
Universitat Autònoma de Barcelona

Videojuegos: ¿de qué hablamos? (Coursera)

Probablemente, todos hemos jugado a algún videojuego, pero ¿qué hay detrás de él? Podemos decir que - con independencia del videojuego - hay un árduo trabajo multidisciplinar que incluye desde aspectos de diseño hasta la programación como tal del videojuego. Este curso pretende ser un curso introductorio que muestre qué aspectos hay que considerar en el videojuego, y que permita con posterioridad abordar individualmente los temas que se consideran nucleares: diseño, arte, motor del videojuego y 'game play'.

Nov 16th 2026
5-12 Weeks
Programming Mobile Applications for Android Handheld Systems: Part 1 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 1 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will develop an app from scratch, assuming a basic knowledge of Java, and learn how to set up Android Studio, work with various Activities and create simple user interfaces to make your apps run smoothly.

Nov 23rd 2026
5-12 Weeks
Introduction and Programming with IoT Boards (Coursera) Coursera
Pohang University of Science and Technology - POSTECH

Introduction and Programming with IoT Boards (Coursera)

Internet of Things (IoT) is an emerging area of information and communications technology (ICT) involving many disciplines of computer science and engineering including sensors/actuators, communications networking, server platforms, data analytics and smart applications. IoT is considered to be an essential part of the 4th Industrial Revolution along with AI and Big Data. This course will be very useful to senior undergraduate and graduate students as well as engineers who are working in the industry.

Nov 23rd 2026
5-12 Weeks
Applied Social Network Analysis in Python (Coursera) Coursera
University of Michigan

Applied Social Network Analysis in Python (Coursera)

This course will introduce the learner to network analysis through the NetworkX library. The course begins with an understanding of what network analysis is and motivations for why we might model phenomena as networks. The second week introduces the concept of connectivity and network robustness.. The third week will explore ways of measuring the importance or centrality of a node in a network. The final week will explore the evolution of networks over time and cover models of network generation and the link prediction problem.

Nov 23rd 2026
4 Weeks