Computer Science 11

Some info on CS 11 - Ministry page 

Every programmer should have a decent understanding of how the shell works and some of the tools that are useful when working in the shell. Please complete the following two very short courses. You'll need to sign up for a Udacity account. You can either sign up with your Google or Facebook account or create one using your email address. 

In order to practice using the shell commands I would like you to create a free beginner account on PythonAnywhere. Note that not all commands are available in any given shell.

An alternative web-based shell can be accessed on this page.

If you feel like going a little further you can work your way through the Unix / Linux for Beginners tutorial.

Regular Expressions ('regex')

At the end of the Shell Workshop the instructor mentions regular expressions. These are a way to do pattern matching. It's a very important topic if you are ever going to write software that deals with text (which is often!). 

Try the first 10 lessons of this tutorial to get an idea of how powerful regular expressions can be. This is a topic you'll revisit in 1st year computer science, if you take it. The better your understanding of the topic now the better you'll do in the university course as the questions can get very tricky.

There are many YouTube videos offering tutorials and explanations if you prefer to learn that way. Keep in mind that it's pretty big topic. The Princeton University Regular Expressions tutorial runs to 197 pages!

Almost every programming language has a way to implement regular expressions and there are slight differences. These are referred to as 'flavours'. You can experiment on this page to see if you can spot any of the differences.

Introduction to Python Programming on Udacity.

Algorithms

Read Chapter 2 (Algorithms) of the Computer Science Field Guide.

I will also assign material from Khan Academy. The language used in the coding sections is Javascript, but from the pseudocode you should be able to code the algorithms in Python.

There are many good resources online to help you learn about algorithms. The following are university level books, in particular the first one. (The third author of the first book, Ronald Rivest, is the 'R' in the RSA algorithm, the algorithm that is the basis for encryption on the internet.)

Here are links to PDFs of those books:

Data Science unit

Please sign up for a CodeHS account and work your way through the Data Science course.

Data Visualization

It will be very useful for your studies, going forward, to be able to create compelling data visualizations. Please work your way through the following tutorial.

After you've completed the tutorial, which should take a few classes. Take a look at the following additional tutorial.

And, if you're keen you might get something out of the two following tutorials.

Once you're comfortable with Seaborn I'd like you to create a data visualization and post it to the Data is Beautiful subreddit. Make sure you read the rules carefully before posting your visualization. You can choose what kind of data to visualize and what sort of visualization to create. The data can come from anywhere, but some suggestions of fairly easy to source data are weather data, sports data, and financial data.

I will assign this data visualization on Teams and you will share the link to your Data is Beautiful post as your submission.