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.
Overview
Syllabus
- Introduction to Programming and Python
- 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.
- Control Statements, Loops, and Program Development
- 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().
- Functions, A Beginning
- 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.
- Functions, The Ongoing Story
- 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.
- Conclusion
Taught by
Dr. Jennifer Coy