Workbooks

Page content

Workbooks are the main assignments for CS559.

There will be approximately a workbook each week (12 in total, although the last workbook is a bigger “final” workbook).

Workbooks are small web sites with web pages and code that you will read and write.

Each week, you will get a workbook from Github (see Git and GitHub in CS559(How things will work)). You’ll read the text of the workbook, experiment with the code in the workbook, and make additions as directed. When you’re done, you’ll commit your work and push it back to GitHub, so the course staff can grade it.

The idea of the workbooks is that they explictly bring together the tutorial aspects of class (reading and demos) with the programming aspects (things you write). All of the reading assignments will be given in the workbooks. This means the text of the workbook web pages, but also the source code of the workbooks, and other documents that the workbooks point you towards. Reading the code in the workbooks and experimenting with demos will often be an explicit part of the assignments.

All of the programming you do in class will be in the workbooks. You will fill in parts of the workbook with code as directed. Workbooks will give you framework code for bigger assignments, and help with the mechanics since we’ll make sure the files are in the right place. And since it will all be tracked with GIT, making it easy to turn it in (in theory), and protecting you against messing things up (providing you use GIT correctly).

Part of the idea of the workbook is that reading the code for examples should be an active part of class. For many things we really want you to look at how we do things (including make web pages).

Workbook Contents

We are in the process of redesigning the workbook file organization. The first workbook will help you understand how workbooks are organized.

If you add any file to the workbook, make sure to say so in the README.md file, and to have a comment near the beginning saying what it is. If you add a new file, be sure to add it to the repo (using the GIT “add” command).

Remember that you must commit your changes to the files (including additions of new files) to the repository! We recommend committing often, so you have a log of your work. (see the Git and GitHub in CS559(page))

Markdown

You may simply put plain text into the Markdown “.md” files. Using markdown formatting is optional. The course staff will not run your files through a converter, but we may look at it using an editor (like Atom or VSCode) that is Markdown aware.

What can you look at?

You are allowed to look at everything (all files) in the workbook! In fact, you are encouraged to look at things to figure them out. You might not want to try to look at the library files (especially when we get to THREE), but you are allowed to.

Some of the HTML and JavaScript files you will be required to look at (we will tell you). Think of them as required readings, just like textbook chapters and the content of the workbook pages. We will discuss things in code comments, and expect you to learn from our example code.

The files that you should look at will be in a special directory to make them easier to find.

What can you change / add?

We will tell you what files that you should add/change as part of the index.html or assignment description.

You will always need to change the README.md and QUESTIONS.md files. Even if we forget to remind you.

We ask that you do not change any of the library files (including ones that the course staff) writes.

In general, you should avoid changes parts of files that you don’t need to change. You may accidentally break things (if you break our part, it will be harder to figure out that your parts work) or make things difficult for the graders.

If you accidentally make changes, you can always use GIT to get back to the original (the joy of using source control).

Sharing with Course Staff

The course staff has access to your repository on GitHub. If you want to share your work with the course staff (for example, if you want to show your program), you can push it to your repo and they can clone it.

Grading

Workbooks will be graded. See the Policies page for details.

Workbooks will be graded on a 100 point scale (A=90, etc). The index page of each workbook will explain the scoring system for that workbook.

Note: the scoring for workbooks is designed that there will be 80-85 points that are easier to get (these are regular points). There will also be points that are harder to get (these are called “bonus points”). Many assignments will have extra bonus points (so if you miss them one week, you can make them up another week). Note: some assignments might not have bonus points (there will be no way to excel at them).

Requests for workbook regrades must be made as private messages to the course staff within 1 week after the grades are posted.

README files

The workbook directory must have a README.md file. If there isn’t a starter one, create and add it.

You must edit the README.md file to (at least) put in your name, your GitHub ID, and your wisc ID. For me this would be:

Michael Gleicher
GitHub: gleicher
WiscID: mlgleicher

The README.md is also the place to give attribution for any code or other work that you got from someone else, and to explain what you did or did not do in the assignments.

Late Policy


See Policies for details.

Workbooks are due on Monday (12:01am Tuesday is not Monday). At some point after the deadline, we will collect the workbooks (by cloning them from GitHub). We will not be able to accept late assignments.