This is your guide for Course Procedure You also are governed by the rules laid out the Departmental Website. This document has precedence over grading and assignment policy shown there. Here are some specific things that demand your attention.
- School-Wide Policy on Absences and Late Work This document refers to school policy on absences and late work. Our policy is the same as the general school policy. Note that we report attendance based on people present; if an absence is excused, that is done by the attendance officer, Mr. Donaldson.
- Computer Science Academic Honesty Document
- Computer Science Classroom Ground Rules
- Computer Science Lab Rules
- Computer Science Late Work Policy This document has a brief section discussing late work and makeup policies; policies laid out here override those of the general document. The differences are small.
This is your "local guide" to the class this term. A course outline is available on the departmental website. This will tell you what topics to expect.
What to Bring Bring your lappy and its power cord. We will use computers most days.
Communication
- e-mail When you send email, begin the subject line with
Block yourBlock,I will use the search termsubject: Block yourBlock
in my gmail account to round stuff up and to check messages from your class. If you have seen my cloacal email queue, you will indeeed believe this to be a smart idea. - Google Calendar My Google calendar is posted on my web page. If you want to see me, look at it. Suggest a couple of upcoming times when I an not busy (avoid lunch) and I will put you on this calendar and write you back. The confirming email will come from my Google account.
- Instant Messaging I can receive instant messages on Facebook chat.
- Facebook Group A closed Facebook group is created for this class. I will be an admin as well as Mr. Boyarsky and and the TAs. Informal announcements will be posted there. You can post questions, which can be answered by me, the TAs or other memembers of the group. This is a great resource so use it! If you find cool stuff others should know, post it!
- Office Hours and Schedule You can see that information here. Office Hours are C and D block on Monday. My office is in the Engineering and Technoogy suite. When you go in from the Reynolds Breezeway, turn right.
Cranking Up....
Plain Text Spoken Here You must submit assignments in a plain-text (not word processor) format. Here are instructions for all the major platforms. Get this working early while there is plenty of time to do so and before you actually need it. You will receive an eamil about software installs prior to the start of class.
| Platform | What to use |
|---|---|
| All | We recommend
Sublime Text. You will also learn the UNIX text editor vi.
you will learn vi in here anyway. |
| Windoze | You can use Notepad, which is installed by default on all Windoze boxes. These are far better. Notepad2, Notepad++, or vi for Windoze. |
| Linux | You can use vi, gvim or gedit. These are all
present by default on the major distros. If you use Ubuntu, make sure
to do this at the UNIX prompt.
$ sudo apt-get install vim |
Naming convention for all materials in this class You will submit all of your assignments in a plain-text format. Every assignment, quiz, or test has an assignment name that will be shown. Put your work in a plain text file with the name
yourUserNameThenAssignmentName.extension
For example, Quiz 1 will be named Q1. All quizzes will be
.txt files, so if your username is bernard12n, you would
submit your Quiz 1 work in a file named bernard12nQ1.txt. All
assignment names will be all-caps. Use all lower-case letters for your user
name. This greatly facilitates the handling of work. I open your work
to grade it in vi; this is a plain-text editor.
This naming convention enables me to process files quickly using Python. If you misspell the file name, your mail won't go through and it can delay the return of assignments.
You are assessed for street repairs. Pay $40 for each house and $115 for each hotel.
Remarks on the Test Schedule You can view this document on FOCUS; it is under Academic Programs → Test Calendar. The two tests and problem set due dates will occur during green or purple weeks. Quizzes are not "major assignments;" these will occur weekly; these are not bound by the test schedule.
Monday will be quiz day in these classes. Quizzes and tests will be linked to this area. There will be one early regular-format written test. This will occur after we cover Chapters 0-2. Later in the term there will be a test that will occur in a lab-practical format.
Reading Quizzes
The file extension for all quizzes is .txt. Do
not submit a word-processor file! These files make a mess of things. The
description will tell what material is to covered. When the quiz discussed,
this information will be placed on the table below for your ready reference.
By right-clicking on the link, you can get a plain text file containing the text of the quiz, test or assignment. That will save you typing. Make sure you rename it correctly right away. These will also be linked off of the calendar pages.
| Reading Quizzes | |||
|---|---|---|---|
| Link | Name | Key | Description |
| Quiz 0 | Q0 | Key | This will be over Chapter 0, early sections. |
| Quiz 1 | Q1 | Key | Chapter 0, the rest |
| Quiz 2 | Q2 | Key | Linux Basics |
| Quiz 3 | Q3 | Key | HTML/CSS |
| Quiz 4 | Q4 | Key | Basic Python |
| Quiz 5 | Q5 | Key | Functions! |
| Quiz 6 | Q6 | Key | |
| Quiz 7 | Q7 | Key | |
Tests
The file extension for Test 0 is .txt, or
and for Test 1 is .py, since it will consist of
Python code.
| Test | Date | Name | extension | Description |
|---|---|---|---|---|
| Test 0 | 7 Sep | T0 | .txt
| This will be given over Chapters 0, 1 and 2. Have Chapters 0, 1 and 2 read. Go back and look at Quizzes 0-3. This will be the only formal written test. The others will be lab practicals. |
| Practice Lab Practical from a prior year is put here for your use. The lab practical is open-book, open-notes open Python documentation. You wiill have 90 minutes. | ||||
| Lab Practical Test 1 | TBA | T1 | .py | This will test your
knowledge of the basic ideas of Chapter 3, by having you write some simple
code. There will be a choice of problems for you to work. Note the
.py extension for this lab practical. An old practical has beeen
made available for you to practice on.
|
Programming Assignments
Specifications for assignments will be listed here.
Remarks about the Problem Sets, PS[0-9].py Download the skeleton file by clicking on the assignment link. It contains the instructions. Make sure you put your name and other information in the comment box at the top. Do not remove the print statements that label the output from each problem. Before starting, make sure you run the program. I test the skeletons so they run in their original state.
PS2 and beyond will be done in a "test-driven development" environment. You will be given test code that will tell you if your functions are working properly. The free tests we furnish may not be as complete as you would like. We would urge you to be paranoid here. We will attach at test suite that will give a thorough test of your functions. This practice has been recommended to me by Gary Bishop at UNC.
| Assignment | Name | Extension | Description | Weight |
|---|---|---|---|---|
| Web Page | WS |
.zip | You will create a web page. To submit, you zip the
contents of the public_html directory. | 1.0 |
| Lab 1 | L1 | .html | This contains directions. The other link contains a shell HTML file to get you started and to save typing and hassle. | .5 |
| Problem Set 1 | PS1 | .py
|
This exercises your basic Python programming abilities. | 1.0 |
| Problem Set 2 | PS2 | .py
|
This is an exercisse in coding simple functions. | 1.0 |
| Problem Set 3 | PS3 | .py
|
These functions can involve conditional logic, looping, and some require recursion. | 1.0 |
| Problem Set 4 | PS4 | .py
|
These functions will test all of your Python programming skills. | 1.0 |
Make-up Policy If you miss a quiz or a test, you must contact me on that day telling me you have missed it. Bear in mind that missing a quiz or test delays the issuance of the key for that quiz or test and the return of work to others. Please be considerate!
If you are sick, you will need to make the quiz or up when you have recovered. If you feel up to it, or if you are missing class because of a school activity, I can send you the quiz or test, you can take it, and turn in your work via email.
It is important for you to make up missed quizzes or tests promptly so I can release the graded materials to your classmates.
If you have an unexcused absence, you must see me and arrange to make up the quiz that day to be eligible to take it. Quizzes will happen on Monday; you should be able to ping me during my free blocks and make arrangements.
If you yellowsheet and travel, try to take the quiz after I turn its permissions on and you can email me your work as usual.
If you are having difficulty with a project, you can request an extension by speaking with me. I tend to be fairly generous with this. Don't abuse it. If you are having trouble, see my Google calender, make an appointment and come in. If you are sick, you will automatically get an extension on a project.
If you yellowsheet out of class, we will make an arrangement when I sign your yellow sheet.
Grading Your grade will come from several sources, each with a different weight.
- Your quizzes will be averaged, with the worst one being dropped. This will constitute 20% of your grade.
- You will get a class participation grade of 0-10. This is 10% of your grade. When I call for a scribe, you can add to your score by successfully serving as scribe for that class.
- Tests and programming practicals will be averaged will use the five-point scale. They are 30% of your grade.
- Programs will use the five-point scale and will be weighted. The normal weight is 1.0 and the final project's weight will be 2.0. Read about the five point scale here. Earlier, some small projects will have .5 weights.
Other Important Stuff
Installing Linux If you are a windoze user, we recommend you do a Winodows install of Ubuntu Linux; you can use a VM but I think either dual-booting or Wubi is nicer. Wubi does not require a repartition of your HD or anything traumatic. We will learn how to use the command line interface, how to create a simple web page and then how to program in Python. Python is freely available here It runs on all platforms. You should install Python3; you may also install Python2 if you wish.
If you use a Mac, you will need to install Python 3. You might want to take
some time to learn about the Terminal Tool in your Mac. You can find it in
Applications/Utilities. Place it in your application dock for
easy access. For mac users, we highly recommend installing
MacPorts.
If you use Linux, don't worry, be happy. You should familiarize yourself with the terminal if you are a pure GUI user.
YOu are required to have a unix environment in this class. You will learn how to use it in here.
Backup Keep copies of all submitted and returned work. That way if a file is spoiled, we can easily retrieve it and undo the damage. I will maintain an archive of all of your work, in both its original and graded state. You may ask at any time about your stuff in this part of my file system.
I recommend you make a master directory in your lappy for this class.
Create two sub-directories: submicode and returned.
Keep your turned-in assignments in submitted and store stuff I
send back in returned. You should back this directory up to your
external or the cloud, as you would for your other classes. You do this,
right??? It is inexpensive insurance against disaster. Google drive
probably gives you enough space to back up all of your schoo work.
Links to Useful Stuff
If you find something useful.... You can send me links to things you find tha are useful and they can be posted here.
- The Assembly Laguage Tutorial has some great material on numbers, letters and their representation in a computer. You can also learn more about the computer's hardware. I highly recommend you read Chapters 1, 2 and 3 and try the quizzes. You will find it illuminating and helpful.
- The Python Site
- An Essay on Computational Thinking
- Spolsky's Essay on Studying CompSci
Cool Videos
- Very Simple Recursion This traces a very simple recursive example and the explanation is excellent. Viewing it is a good investment of a few minutes.