Introduction to Open Source Application Development
Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Introduction to Open Source Application Development
Instructor: James Papademas
Included with
Learn more
Ask Coursera
21 reviews
Recommended experience
21 reviews
Recommended experience
Skills you'll gain
Tools you'll learn
Details to know
31 assignments
See how employees at top companies are mastering in-demand skills
There are 9 modules in this course
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.
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)
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.
What's included
7 videos8 readings4 assignments1 discussion prompt1 ungraded lab
7 videosβ’Total 62 minutes
- Course Introductionβ’4 minutes
- Instructor Introductionβ’2 minutes
- Introduction to Python Programmingβ’10 minutes
- Installing Pythonβ’12 minutes
- Arithmetic Operationsβ’14 minutes
- Declaring and Using Variablesβ’9 minutes
- Coding Logic and Designβ’12 minutes
8 readingsβ’Total 112 minutes
- Syllabusβ’10 minutes
- Course Resourceβ’10 minutes
- Introduction to Python and Programming β’20 minutes
- Install and Configure Python and Visual Studio Code (MAC/WIN) β’15 minutes
- Perform Arithmetic Operations β’10 minutes
- Declare Variables and Understanding Data Typesβ’25 minutes
- Understand Programming Logic including Flowcharts/Pseudocode β’12 minutes
- Module 1 Summaryβ’10 minutes
4 assignmentsβ’Total 225 minutes
- Perform Arithmetic Operations Quizβ’15 minutes
- Declare Variables and Understanding Data Types Quizβ’15 minutes
- Understand Programming Logic including Flowcharts/Pseudocode 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 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.
What's included
4 videos5 readings4 assignments1 ungraded lab
4 videosβ’Total 41 minutes
- Sequential Flow of a Programβ’8 minutes
- Input and Outputβ’7 minutes
- Conversion Functionsβ’9 minutes
- Formatting Outputβ’17 minutes
5 readingsβ’Total 52 minutes
- Sequential Control Structure, Basic Input/Output (IO), Type Conversions β’10 minutes
- Programming Input/Output β’10 minutes
- Making Use of Type Conversion Functionsβ’7 minutes
- Formatting Output β’15 minutes
- Module 2 Summaryβ’10 minutes
4 assignmentsβ’Total 225 minutes
- Programming Input/Output Quizβ’15 minutes
- Making Use of Type Conversion Functions Quizβ’15 minutes
- Formatting Output Quizβ’15 minutes
- Module 2 Summative Assessment β’180 minutes
1 ungraded labβ’Total 60 minutes
- Module 2 Practice Labβ’60 minutes
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.
What's included
3 videos5 readings3 assignments1 ungraded lab
3 videosβ’Total 24 minutes
- Decision Operationsβ’5 minutes
- If Conditionsβ’10 minutes
- Alternative Decision Makingβ’10 minutes
5 readingsβ’Total 55 minutes
- Decision Control Structure (Logical Statements) β’5 minutes
- Create Decision Structures Using if Conditions β’15 minutes
- Making Use of Decision Alternatives β’15 minutes
- Module 3 Summaryβ’10 minutes
- Insights from an Industry Leader: Learn More About Our Programβ’10 minutes
3 assignmentsβ’Total 210 minutes
- Create Decision Structures Using if Conditions Quizβ’15 minutes
- Making Use of Decision Alternatives Quizβ’15 minutes
- Module 3 Summative Assessment β’180 minutes
1 ungraded labβ’Total 60 minutes
- Module 3 Practice Labβ’60 minutes
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.
What's included
4 videos5 readings4 assignments1 ungraded lab
4 videosβ’Total 40 minutes
- Repetition Statementsβ’4 minutes
- While Loopβ’14 minutes
- For Loopβ’15 minutes
- Nested Loopβ’7 minutes
5 readingsβ’Total 87 minutes
- Repetition Control Structure, Logical Statements controlβ’5 minutes
- Constructing a While Loop β’12 minutes
- Constructing a For Loopβ’30 minutes
- Constructing Nested Loops β’30 minutes
- Module 4 Summaryβ’10 minutes
4 assignmentsβ’Total 225 minutes
- Constructing a While Loop Quizβ’15 minutes
- Constructing a For Loop Quizβ’15 minutes
- Constructing Nested Loops Quizβ’15 minutes
- Module 4 Summative Assessment β’180 minutes
1 ungraded labβ’Total 60 minutes
- Module 4 Practice Labβ’60 minutes
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.
What's included
4 videos5 readings4 assignments1 ungraded lab
4 videosβ’Total 34 minutes
- Intro to Functions β’3 minutes
- Defining and Implementing Functionsβ’13 minutes
- Importing Modulesβ’10 minutes
- Debugging Source Codeβ’9 minutes
5 readingsβ’Total 60 minutes
- Functions and Program Modularity, Common Library Packages, Debuggingβ’10 minutes
- Define and Implement User-defined Functions β’25 minutes
- Working with Imported Modules β’12 minutes
- Debugging Source Codeβ’3 minutes
- Module 5 Summaryβ’10 minutes
4 assignmentsβ’Total 225 minutes
- Define and Implement User-defined Functions Quizβ’15 minutes
- Working with Imported Modules Quizβ’15 minutes
- Debugging Source Code Quizβ’15 minutes
- Module 5 Summative Assessment β’180 minutes
1 ungraded labβ’Total 60 minutes
- Module 5 Practice Labβ’60 minutes
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.
What's included
4 videos5 readings4 assignments2 ungraded labs
4 videosβ’Total 32 minutes
- Intro to List Processing and File Processingβ’1 minute
- List Processingβ’15 minutes
- List Slicesβ’5 minutes
- Processing Data Filesβ’11 minutes
5 readingsβ’Total 115 minutes
- List Processing, File IO Processingβ’5 minutes
- Create Lists Including Multidimensional Listsβ’50 minutes
- Perform List Slicing Techniques β’10 minutes
- Read and Write Data To and From a Fileβ’40 minutes
- Module 6 Summaryβ’10 minutes
4 assignmentsβ’Total 225 minutes
- Create Lists Including Multidimensional Lists Quizβ’15 minutes
- Perform List Slicing Techniques Quiz β’15 minutes
- Read and Write Data To and From a File Quizβ’15 minutes
- Module 6 Summative Assessment β’180 minutes
2 ungraded labsβ’Total 180 minutes
- Module 6 Practice Labβ’60 minutes
- Module 6 Practice Lab 2β’120 minutes
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.
What's included
4 videos5 readings4 assignments1 ungraded lab
4 videosβ’Total 30 minutes
- Intro to OOPβ’2 minutes
- Create Class and Objects β’13 minutes
- Introduction to Inheritanceβ’8 minutes
- UML (Unified Modeling Language)β’7 minutes
5 readingsβ’Total 123 minutes
- Object Oriented Programming Classes/Objects, Inheritance, UML β’8 minutes
- Create Classes and Class Objects β’65 minutes
- Use Inheritance to Build Upon Existing Classesβ’10 minutes
- Learn Unified Modeling (UML) Class Diagrammingβ’30 minutes
- Module 7 Summaryβ’10 minutes
4 assignmentsβ’Total 225 minutes
- Create Classes and Class Objects Quizβ’15 minutes
- Use Inheritance to Build Upon Existing Classes Quizβ’15 minutes
- Learn Unified Modeling (UML) Class Diagramming Quizβ’15 minutes
- Module 7 Summative Assessmentβ’180 minutes
1 ungraded labβ’Total 60 minutes
- Module 7 Practice Labβ’60 minutes
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.
What's included
3 videos4 readings3 assignments1 ungraded lab
3 videosβ’Total 22 minutes
- Intro to GUI Programmingβ’3 minutes
- GUI Componentsβ’8 minutes
- GUI Program Demoβ’11 minutes
4 readingsβ’Total 78 minutes
- Crafting a basic Graphical User Interfaces (GUI)β’8 minutes
- Understand Basic Controls That Make Up a GUI β’30 minutes
- Work With Tkinter Module to Build Your Own GUIβ’30 minutes
- Module 8 Summaryβ’10 minutes
3 assignmentsβ’Total 210 minutes
- Understand Basic Controls That Make Up a GUI Quizβ’15 minutes
- Work With Tkinter Module to Build Your Own GUI Quizβ’15 minutes
- Module 8 Summative Assessment β’180 minutes
1 ungraded labβ’Total 120 minutes
- Module 8 Practice Labβ’120 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 assignmentβ’Total 180 minutes
- Summative Course Assessmentβ’180 minutes
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
Offered by
Why people choose Coursera for their career
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 purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, 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.
More questions
Financial aid available,
