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.
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.
涵盖的内容
8个视频6篇阅读材料4个作业1个讨论话题1个非评分实验室
显示有关单元内容的信息
8个视频•总计50分钟
Instructor Welcome and Course Overview•2分钟
Instructor Introduction•1分钟
Module 1 Introduction•9分钟
IPO Intro Ch. 2.1-2.3•8分钟
Comments, Variables, Data Conversions 2.4-2.6 - Part 1•6分钟
Comments, Variables, Data Conversions 2.4-2.6 - Part 2•7分钟
Calculations, More on Data Output and Constants Ch. 2.7-2.9 - Part 1•10分钟
Calculations, More on Data Output and Constants Ch. 2.7-2.9 - Part 2•6分钟
6篇阅读材料•总计60分钟
Syllabus•10分钟
Introductory Readings•10分钟
IPO Intro Ch. 2.1-2.3•10分钟
Comments, Variables, Data Conversions Ch. 2.4-2.6 •10分钟
Calculations, More on Data Output and Constants Ch. 2.7-2.9 •10分钟
Module 1 Summary•10分钟
4个作业•总计225分钟
Module 1 Summative Assessment•180分钟
IPO Quiz•15分钟
Comments, Variables, and Data Conversions Quiz•15分钟
Calculations, Data Output, and Constants Quiz•15分钟
1个讨论话题•总计10分钟
Meet and Greet Discussion•10分钟
1个非评分实验室•总计60分钟
Module 1 Practice Lab•60分钟
Module 2: Decision Structures and Boolean Logic
第 2 单元•小时 后完成
单元详情
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.
涵盖的内容
5个视频5篇阅读材料5个作业1个非评分实验室
显示有关单元内容的信息
5个视频•总计37分钟
Module 2 Introduction•10分钟
If Else Statements Ch. 3.2 •6分钟
String Comparisons Ch. 3.3 •9分钟
Nested ifs, Logical Operators/Boolean Logic Ch. 3.4-3.6 - Part 1•8分钟
Nested ifs, Logical Operators/Boolean Logic Ch. 3.4-3.6 - Part 2•4分钟
5篇阅读材料•总计50分钟
Decision Structures, Boolean Logic, If Statements Ch. 3.1 •10分钟
Nested Ifs, Logical Operators, and Boolean Logic Quiz•15分钟
1个非评分实验室•总计60分钟
Module 2 Practice Lab•60分钟
Module 3: Repetition Structures
第 3 单元•小时 后完成
单元详情
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.
涵盖的内容
4个视频6篇阅读材料5个作业1个非评分实验室
显示有关单元内容的信息
4个视频•总计28分钟
Module 3 Introduction•4分钟
While and For Loop Structures Ch. 4.2-4.3 •10分钟
Running Totals and Sentinel Values Ch. 4.4-4.5 •6分钟
Input Validation and Nested Loops Ch. 4.6-4.7 •8分钟
6篇阅读材料•总计60分钟
Introduction to Repetition Structures Ch. 4.1 •10分钟
While and For Loop Structures Ch. 4.2-4.3 •10分钟
Running Totals and Sentinel Values Ch. 4.4-4.5 •10分钟
Input Validation and Nested Loops Ch. 4.6-4.7 •10分钟
Module 3 Summary•10分钟
Insights from an Industry Leader: Learn More About Our Program•10分钟
5个作业•总计405分钟
Module 3 Summative Assessment•180分钟
Module 3 Introduction Quiz•15分钟
While and For Loop Structures Quiz•15分钟
Running Totals and Sentinel Values Quiz•180分钟
Input Validation and Nested Loops Quiz•15分钟
1个非评分实验室•总计60分钟
Module 3 Practice Lab•60分钟
Module 4: Functions
第 4 单元•小时 后完成
单元详情
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.
涵盖的内容
6个视频5篇阅读材料5个作业1个非评分实验室
显示有关单元内容的信息
6个视频•总计45分钟
Module 4 Introduction•6分钟
Defining Functions Ch. 5.2-5.4 •10分钟
Passing Arguments and Value Returning Functions Ch. 5.5-5.8 - Part 1•7分钟
Passing Arguments and Value Returning Functions Ch. 5.5-5.8 - Part 2•7分钟
Modules Ch. 5.9-5.10 - Part 1•7分钟
Modules Ch. 5.9-5.10 - Part 2•8分钟
5篇阅读材料•总计50分钟
Introduction to Functions Ch. 5.1 •10分钟
Defining Functions Ch. 5.2-5.4 •10分钟
Passing Arguments and Value Returning Functions Ch. 5.5-5.8 •10分钟
Modules Ch. 5.9-5.10 •10分钟
Module 4 Summary•10分钟
5个作业•总计240分钟
Module 4 Summative Assessment•180分钟
Module 4 Introduction Quiz•15分钟
Defining Functions Quiz•15分钟
Passing Arguments and Value Returning Functions Quiz•15分钟
Modules Quiz•15分钟
1个非评分实验室•总计60分钟
Module 4 Practice Lab•60分钟
Module 5: File and List Processing
第 5 单元•小时 后完成
单元详情
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.
涵盖的内容
8个视频6篇阅读材料6个作业1个非评分实验室
显示有关单元内容的信息
8个视频•总计49分钟
Module 5 Introduction - Part 1•10分钟
Module 5 Introduction - Part 2•4分钟
Loops, Records, and Exceptions Ch. 6.2-6.4 - Part 1•7分钟
Loops, Records, and Exceptions Ch. 6.2-6.4 - Part 2•6分钟
Lists Ch. 7.1-7.2 •6分钟
List Slicing Ch. 7.3-7.4 •4分钟
List Functions, Two-Dim. Lists, Tuples Ch. 7.5-7.9 - Part 1•8分钟
List Functions, Two-Dim. Lists, Tuples Ch. 7.5-7.9 - Part 2•4分钟
6篇阅读材料•总计60分钟
File Processing Ch. 6.1 •10分钟
Loops, Records, and Exceptions Ch. 6.2-6.4 •10分钟
Lists Ch. 7.1-7.2 •10分钟
List Slicing Ch. 7.3-7.4 •10分钟
List Functions, Two-Dim. Lists, Tuples Ch. 7.5-7.9•10分钟
Module 5 Summary•10分钟
6个作业•总计255分钟
Module 5 Summative Assessment•180分钟
Module 5 Introduction Quiz•15分钟
Loops, Records, and Exceptions Quiz•15分钟
Lists Quiz•15分钟
List Slicing Quiz•15分钟
List Functions, Two-Dimentional Lists, and Tuples Quiz•15分钟
1个非评分实验室•总计60分钟
Module 5 Practice Lab•60分钟
Module 6: More on Strings, Dictionaries and Sets
第 6 单元•小时 后完成
单元详情
This module guides students through the learning process of serializing various objects, such as lists and dictionaries, allowing for persistent storage of 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.
涵盖的内容
6个视频5篇阅读材料5个作业1个非评分实验室
显示有关单元内容的信息
6个视频•总计37分钟
Module 6 Introduction - Part 1•5分钟
Module 6 Introduction - Part 2•6分钟
Dictionaries Ch. 9.1 - Part 1•5分钟
Dictionaries Ch. 9.1 - Part 2•7分钟
Sets Ch. 9.2•9分钟
Serialization Ch. 9.3 •5分钟
5篇阅读材料•总计50分钟
More on Strings Ch. 8 •10分钟
Dictionaries Ch. 9.1 •10分钟
Sets Ch. 9.2•10分钟
Serialization Ch. 9.3 •10分钟
Module 6 Summary•10分钟
5个作业•总计240分钟
Module 6 Summative Assessment•180分钟
Module 6 Introduction Quiz•15分钟
Dictionaries Quiz•15分钟
Sets Quiz•15分钟
Serialization Quiz•15分钟
1个非评分实验室•总计60分钟
Module 6 Practice Lab•60分钟
Module 7: Classes and Objects & Inheritance
第 7 单元•小时 后完成
单元详情
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
第 8 单元•小时 后完成
单元详情
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分钟
Module 8 Summary•10分钟
6个作业•总计255分钟
Module 8 Summative Assessment•180分钟
Module 8 Introduction Quiz•15分钟
Widgets Quiz•15分钟
Databases Quiz•15分钟
Database Programming and Sqlite3 Quiz•15分钟
Course Supplementals Quiz•15分钟
1个非评分实验室•总计60分钟
Module 8 Practice Lab•60分钟
Summative Course Assessment
第 9 单元•小时 后完成
单元详情
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.
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 purchase the Certificate?
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.
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.