Welcome. If you're returning after learning the basics with us,
we're delighted to have you back.
If you're just joining us for
the first time because you already know the fundamentals of Python,
like IF ELSE statements, for loops,
and strings and lists,
then welcome for the first time.
Just to be sure that you watch the video introducing
the Runestone textbook environment because
we're going to be using that throughout the course.
I'm Paul Resnick.
I'm Steve Oney. We are both faculty here in
the School of Information at the University of Michigan.
In this course, we're going to cover the rest of Python fundamentals still
focusing on the execution model to help you reason about and debug your programs.
We're also going to learn how to read and write files,
we'll learn about the Python dictionary data structure,
and we'll learn to use the accumulation pattern to accumulate results from
complex data structures and to accumulate
results into dictionaries and from dictionaries.
You're going to learn how to define functions,
which I think of as the dividing line between
just playing around with programming and becoming a real programmer.
We'll delve into some of the subtleties of
functions including optional and default parameters,
keyword-based parameter passing, and anonymous lambda functions.
You'll learn about sorting.
You're not going to learn sorting algorithms,
but you'll learn how to use Python's built-in sorting capability.
You'll pass in the right parameters and you'll get
your items back in in exactly the order that you want it.
The final project will be a little sentiment analysis program.
We're going to give you a pile of fake tweets and you're going to write
code that counts how many positive and negative words there are.
You'll write out a comma separated values,
file uploaded into a spreadsheet,
and generate a graph so that you can analyze.
Do those tweets that have more positive words in them get more replies and more retweets.
Sounds fun. That's also going to
synthesize all of the things that you learned throughout the course.
Now, like the first course,
we're mostly going to do screencasts with code examples,
but we'll occasionally come on screen for words of wisdom into introduce topics.
I'll also be telling a few more dad jokes.
So, let's get to it. Bye for now.