Designed for the not-yet-experienced programmer, this course will provide you with a structured foundation for developing complex programs in the fields of computer science or data science. If you are a self-taught programmer with scattered bits of understanding, or a complete novice, this is the course for you.
Here, you will gain a thorough understanding of how to write programs to solve problems, through structured, scaffolded, hands-on exercises with many examples and opportunities to practice. You will learn the foundational concepts of computer science by developing programs in the python programming language (one of the most commonly used languages).
We will also use many of the most common python packages -- why reinvent the wheel when you can use well-tested, flexible, pre-built solutions? While these packages can save significant time, it is also important to understand how they do their magic, and if your particular problem is the right fit to be solved by these potential tools. You will encounter the following python packages: numpy, scipy, matplotlib, pandas, seaborn, re (for regular expressions), textblob, nltk, and others.
In the process of learning how to program, we will explore different topics at the introductory level, including natural language processing and data analytics.
By the end of this course, you will be confident in your ability to solve a problem using the python programming language -- and how to verify that your solution is accurate.
Welcome to the course! In this module, we will explore what makes the python programming language so excellent to learn and begin to write our first python programs. We will learn about variables, how to use them, how a program makes decisions using if statements, and how to interact with the user through input() and print() functions.
Live Coding: Variable Assignment and Arithmetic•8 minutes
Using print() for Output and Strings•8 minutes
Getting Input from the User with input()•8 minutes
Decision Making: the if Statement•8 minutes
Live Coding: comments and if Statement Example•8 minutes
Built-in Functions: min() and max()•12 minutes
7 readings•Total 57 minutes
About This Course•5 minutes
Read the Course Syllabus•10 minutes
Meet Your Course Staff•5 minutes
About Lectures and "Live Coding" Videos in this Course•2 minutes
Supplemental Material•30 minutes
About Reflective Practice Assignments•4 minutes
Module 1 Conclusion•1 minute
2 assignments•Total 60 minutes
Programming Assignment 1a •30 minutes
Programming Assignment 1b•30 minutes
1 programming assignment•Total 45 minutes
Module 1 Reflection Activity•45 minutes
1 discussion prompt•Total 30 minutes
Introduce Yourself•30 minutes
Control Statements, Loops, and Program Development
Module 2•5 hours to complete
Module details
In this module, we will learn how to make our programs more flexible, and able to solve more complex problems. We'll see how we can make more complex decisions using the if statement by including elif and else. We'll also see how we can have the program repeat actions using for and while, and be introduced to other useful functions such as range(), mean(), median(), and mode().
Introduction, algorithms, and pseudocode•11 minutes
Control statements and python keywords•4 minutes
if statements and if..else statements•10 minutes
if..elif..else statements•9 minutes
General form for an if statement•4 minutes
Live Coding: if...elif...else statement•10 minutes
while statements: example 1•14 minutes
While Statements: Example 2•9 minutes
Live Coding: while statement•13 minutes
for statements•5 minutes
for statements: example 1 - loop through letters in a word•10 minutes
for statements: example 2 - loop through numbers using range()•5 minutes
General form for a for loop, augmented assignment, and example 3 - use a for loop to add up numbers•8 minutes
Live Coding: for statement (and nested statements)•10 minutes
Examples using formatted strings•8 minutes
Control statements: break and continue•7 minutes
Boolean Operators: And•6 minutes
Boolean Operators: Or, Not•6 minutes
Live Coding: Using a For Statement to Count Upwards•5 minutes
Intro to Data Science: mean(), median(), and mode(), and Importing a Package•6 minutes
Common Mistakes: If, For, and While•11 minutes
2 readings•Total 31 minutes
Supplemental Material•30 minutes
Module 2 Conclusion•1 minute
2 assignments•Total 60 minutes
Programming Assignment 2a•30 minutes
Programming Assignment 2b•30 minutes
1 programming assignment•Total 45 minutes
Module 2 Reflection Activity •45 minutes
Functions, A Beginning
Module 3•6 hours to complete
Module details
In this module, we will learn how to create our own custom functions, which allow us to reuse our code, divide programs into meaningful chunks, and also reduce the number of errors and bugs in our code. This content will be split over 2 modules, with the first few sections being covered in this first module, with the remainder being covered in the next module.
Live Coding: A Function With No Arguments•7 minutes
Live Coding: A Function With One
Argument•13 minutes
Live Coding: A Function With Two Arguments•18 minutes
Live Coding: Two Functions in One Program•15 minutes
Random Number Generation•7 minutes
Example: Random Number Generation•8 minutes
The Python Standard Library and the Math Module•11 minutes
Live Coding: Using the Math Module (and Writing a Function)•9 minutes
2 readings•Total 31 minutes
Supplemental Material•30 minutes
Module 3 Conclusion•1 minute
2 programming assignments•Total 120 minutes
Programming Assignment 3a •60 minutes
Programming Assignment 3b •60 minutes
1 peer review•Total 45 minutes
Module 3 Reflection Activity, Part 2 (Peer Review in two steps)•45 minutes
1 ungraded lab•Total 45 minutes
Module 3 Reflection Activity, Part 1•45 minutes
Functions, The Ongoing Story
Module 4•4 hours to complete
Module details
In this module, we will learn review functions, and continue practicing creating our own functions. There are a few lecture segments that touch on a few finer points from this chapter, and then more live programming examples. At this point in the semester, we have enough "tools" that we can write a larger program! You should experiment in the Reflective Practice and see what you can accomplish! In the full version of this course, this module also includes the beginning of a larger, 2 week long, project. Therefore, the content in this Module is somewhat shorter than normal.
What's included
9 videos2 readings2 programming assignments
Show info about module content
9 videos•Total 87 minutes
Module 4 Overview•2 minutes
Review of Functions•8 minutes
Methods•10 minutes
Scope Rules: Local vs. Global•7 minutes
A Deeper Look at Import•7 minutes
Intro to Data Science: Measures of Dispersion•9 minutes
Live Coding of Another Function, With Discussion of Local vs. Global Scope•30 minutes
Live Coding of the Different Uses of Import, With the Math Module•8 minutes
Live Coding of the Use of the Statistics Module: pvariance() and pstdev() •6 minutes
2 readings•Total 32 minutes
Supplemental Material•30 minutes
Module 4 Conclusion•2 minutes
2 programming assignments•Total 105 minutes
Programming Assignment 4 •60 minutes
Module 4 Reflection Activity •45 minutes
Conclusion
Module 5•15 minutes to complete
Module details
What's included
2 readings
Show info about module content
2 readings•Total 15 minutes
You did it!•5 minutes
What is next?•10 minutes
Build toward a degree
This course is part of the following degree program(s) offered by Ball State University. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
View eligible degrees
Build toward a degree
This course is part of the following degree program(s) offered by Ball State University. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
¹Successful application and enrollment are required. Eligibility requirements apply. Each institution determines the number of credits recognized by completing this content that may count towards degree requirements, considering any existing credits you may have. Click on a specific course for more information.
OK
Instructor
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
Ball State Online offers more than 110 online programs in high-demand fields and consistently lands in the Top 20 of the U.S. News & World Report “Best Online Programs” and “Best Online Programs for Veterans” national ranking for several of its online bachelor’s and graduate degrees. Ball State focuses on the student experience, placing emphasis on personal attention from faculty and immersive learning.
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.