Computer Science 217
Introduction to Computer Science for Multidisciplinary Studies I
Announcements
- 19 April 2012
-
- The Assignment 5 marks are available in the usual place. While
I do have your final exam marks, I'm not allowed to post them,
sorry. (Please don't bother complaining to me; I think it's
a silly policy myself.) I can, however, tell you that the
top mark was 59/60, and so I'll be scaling up everyone's
final exam mark up by 1/60. Thanks, everyone, and have a
good summer!
- 10 April 2012
-
- Ryan's got the information for the final PASS review sessions! They'll be in the
normal room in the TFDL, 355D, and will both last an hour and a half (with 10
minutes for a survey at the end).
The first session will be from 10:30am until 12:00pm, and the second will be
from 1:30pm until 3:00pm. Both are on Sunday April 15th.
Also, the gift card draw won't be happening in the review session, but
attendance will give a person another entry to win. After exams are over, the
winner will be contacted via email with details regarding the process to obtain
the gift card!
- 9 April 2012
-
- The PASS sessions this week are cancelled. Instead,
Ryan will be running two review sessions on Sunday (time
and location to be announced).
- For Assignment 5, I overlooked one hint: to print a backslash
character (which is normally an escape character in strings),
you need to escape it, i.e.,
'\\' is a string
containing the backslash character. Also note that
gnuplot expects no extra space between the backslash
and the end of a line.
- 6 April 2012
-
- I've added slides on to the Data Representation set
for Monday's lecture.
- 4 April 2012
-
- I've been told that, for Assignment 5, some people have
encountered an odd case where
last is reporting
that a user has been logged in for a negative amount
of time. You can either detect this case and skip it
(printing a warning to the standard error) or assume
that it won't happen, at your option. The former option
is the better program design choice, in case you're
wondering!
- 3 April 2012
-
- 30 March 2012
-
- Success: the fifth and final assignment
is available.
- I'm going to cancel my office hour today in an effort to
get the final assignment specification finished before class.
You can still email me if you have questions, as usual.
- 29 March 2012
-
- Once again, to the student whose ID number ends in 8100:
your email address isn't working and I have no way to
reply to you, sorry. You'll have to email me from a different
address so I can reply!
- 27 March 2012
-
- Here
is a sample of
output for the ``plays'' field with the
list
and count commands.
- 25 March 2012
-
- Something else about Assignment 4: apart from the order of
items, your output should look like the sample output
given on the assignment specification.
- 23 March 2012
-
- Sorry, I forgot to make available the text adventure code from two
Fridays ago. It's here.
- 22 March 2012
-
- While I'll be talking about applications tomorrow as
usual on Fridays, there is
a set of notes
you might want to bring along this time.
- 20 March 2012
-
- Posted on behalf of Ryan and PASS...
Attend PASS sessions and win!
Beginning the week of March 19, 2012, when you attend a PASS session for Computer
Science 217, you will be entered into a draw for a $20.00 gift card from the
University Bookstore. The draw will take place during the last week of PASS
sessions (April 9th-April 13th) and the winner will be announced during the
last exam preparation PASS session.
- A clarification for Assignment 4, since this question has
come up a few times: the user of your program may specify
any filename they like for a playlist. If your
program is checking for a file named
itunes-library.txt
or /dev/null, this is incorrect. This would mean
that you'd need a different program for each playlist you
might possibly want to use, like having to have a different
copy of Microsoft Word installed each time you want to
edit a document with a different name! Instead, try to
open the specified filename, and if there's a problem,
catch the exception that's raised.
- 19 March 2012
-
- The USRIs for 217 will be administered this Wednesday,
March 21. Please be sure to come and write lots of comments!
- The marks for midterm 2 are posted in the usual place,
here. A couple people
got perfect scores (or above!), so there's no scaling
factor being used for this one.
- As with any large multiple-choice exam, there were some
mangled or missing student ID numbers. If you think
you should have a nonzero mark listed, please email me.
- 10 March 2012
-
- The midterm is now made up, and I'll be talking about it in
class Monday, but in case you want to start studying, it is
heavily weighted to the material from functions (slightly
before the last midterm) until now. The exam will operate
as before:
- Ideally, don't bring extra stuff like backpacks.
- No notes, books, calculators, cell phones, or
assistance of any kind.
- It is multiple choice. You'll need (several?) pencils
and an eraser to fill in the bubble sheets.
- You will need official photo ID, e.g., UCID card,
driver's license, passport. It will be checked at the
door as you come in.
- You will need to stay for the full 30-minute duration
of the test.
- Confidential to the student whose ID number ends in 8100:
your email address isn't working and I have no way to
reply to you, sorry.
- 9 March 2012
-
- 7 March 2012
-
- The syntax for creating a tuple with no elements
was, alas, even worse than I remembered. Writing
t = ( )
makes t a tuple with no elements. Sorry, it's
not my design! I've added it into the tuple notes.
- I'm teaching some guest lectures in another course this
Wednesday and Friday, and I'll be cutting my office hours
those days a bit short so I can make it to the classes on
time. Sorry for any inconvenience!
- 5 March 2012
-
- I've been getting a number of questions about
Bug #11 on Assignment 3. To clarify, the idea is
to calculate deltax and deltay (i.e., the change in
x and y) so that they have the exact same
values, just without using the turtle. In other words,
the correct climb rate should still be seen for the
player's missile. Some math will almost certainly
be required; you are free to employ your favorite
search engine, but you must cite the source
of any algorithms or code you use that are not yours.
- 3 March 2012
-
- Sorry if my replies to your email are delayed this weekend;
university IT has decided to hobble outbound email
without warning.
- 28 February 2012
-
- Let's try a YouTube version
of the Assignment 3 video (thanks to the student who suggested
this). Please let me know if you have
problems viewing this one.
- YouTube update: sorry if you saw an bizarre, possibly offensive
comment someone posted; I've disabled comments on the video
now.
- The long-awaited Assignment 1 award ceremony, along with a
montage of the TA-nominated assignments, will be tomorrow.
Thanks to all the students who gave permission for their
work to be shown!
- 22 February 2012
-
- Yay! I've finally had time to get the midterms processed
and analyze the results. The raw marks are
posted in the usual place,
here. The top mark
was 39/40, which I will interpret as the midterm being
one mark too hard, and so I will be scaling everyone's
midterm mark by one point. In other words, take your raw
score, add one to it, and that's what you got out of 40.
- As with any large multiple-choice exam, there were a number
of mangled or missing student ID numbers. If you think
you should have a nonzero mark listed, please email me.
- 18 February 2012
-
- I added
Assignment #3 design notes.
Again, these are not needed to do the assignment. They are
only for people curious about the design choices
and tradeoffs in the program.
- 17 February 2012
-
- Have a good reading break!
- I'm shutting down microPython; we're long, long past its
capabilities, and mostly the web site's just seeing
attack probes from the Internet now!
- Assignment #3 video
has
been added; I also added a link to it in the assignment
spec.
- Assignment #3
is available.
- 14 February 2012
-
- Happy Valentine's Day! Based on comments some of you made
while studying for the midterm, I've tried flagging the
deleted bits in the notes to make them easier to spot.
- 13 February 2012
-
- Continuing with the office-hour theme, Ryan has office hours
for the PASS program; see
below for details.
- My office hour today is cancelled due to illness. Sorry for
any inconvenience!
- 8 February 2012
-
- Khaled (one of the TAs) is doing a midterm review
tomorrow at 4pm in MS160.
- I've posted the midterm review slides below.
- A few reminders about the midterm this Friday in class:
- Ideally, don't bring extra stuff like backpacks.
- No notes, books, calculators, cell phones, or
assistance of any kind.
- It is multiple choice. You'll need (several?) pencils
and an eraser to fill in the bubble sheets.
- You will need official photo ID, e.g., UCID card,
driver's license, passport. It will be checked at the
door as you come in.
- You will need to stay for the full 30-minute duration
of the test.
- 4 February 2012
-
- Marks
for the first assignment
are posted. Please check your mark and let me know asap if
there are any problems.
- 3 February 2012
-
- 1 February 2012
-
- I'm covering one of the 217 tutorials today during my usual
office hour, so there won't be an office hour today, sorry.
You can still contact me as usual via email.
- 31 January 2012
-
- If you left a pencil case behind in class Monday, please
contact me to get it back.
- 30 January 2012
-
- 29 January 2012
-
- The simulation programs from Friday's lecture. (L02: we
didn't have time for the pendulum example.)
- 27 January 2012
-
- L01: the bug was one we'd seen earlier. The calculation
was using radians, the turtle wanted to turn an amount
in degrees. Case closed. And we would've gotten away
with it if it weren't for that darned chicken.
- 26 January 2012
-
- Just to clarify: the plots for Assignment #2 must
be done using the turtle module.
- 25 January 2012
-
- 24 January 2012
-
- I added a few slides to the ``Converting math to Python'' set.
They're available separately below.
- 22 January 2012
-
- 20 January 2012
-
- 18 January 2012
-
- PASS program information is below. This is
a peer instruction pilot program, or in other words, a
free extra source of help!
- 13 January 2012
-
- 10 January 2012
-
- I had erroneously listed Assignment 2's due date as February
3, which would've only given a week to do it! The correct
due date is February 17.
- 9 January 2012
-
- A few of you mentioned you were having trouble making the
Blackboard links work. If that's still the case, please
send me email so I can track down the problem.
- 22 December 2011
-
- Tutorials start the week of January 16, 2012.
- Help me learn your name,
if you want!
- Some browsers cache previously-viewed copies of
web pages. Please make sure that you are viewing
the most recent copy of this page.
- I will be placing important announcements,
clarifications, and information on this web page
as the term progresses. It is your responsibility
to check this page frequently for updates. I won't
be using Blackboard. Or Facebook. Or Twitter. Or
smoke signals, semaphores, and interpretive dance.
Okay, maybe a little bit of interpretive
dance, but that's it.
General Course Information
Please read the course information sheet
carefully.
In particular, be aware that the University regulations regarding
plagiarism apply to assignment submissions. In other words, using
someone else's code in your assignment without proper attribution
is plagiarism regardless of where the code came from (e.g., a book,
the Internet).
Objectives
According to the Calendar's description:
Introduction to problem solving, analysis and design of small-scale
computational systems and implementation using a procedural programming
language. For students wishing to combine studies in computer science
with studies in other disciplines.
Syllabus
- Unix
- Data and its representation
- Data types
- Variables
- Expressions
- Boolean algebra
- Conditional statements
- Loops
- Procedures and functions
- Modularity
- Program design
- Testing
- Debugging
- Algorithms
Lectures
Lectures are in A140, MWF 1-1:50pm (L01) and 2-2:50pm (L02).
Tutorials
There are nine tutorial sections,
all 50 minutes long, all in MS 160.
Late Policy
No late submissions will be accepted.
If you get sick, have an accident or family crisis, you should still come
see me like you would normally.
Note: TAs can not give extensions. Please do not ask them.
Schedule and Evaluation
| Assignment 1 |
10% |
Friday, 27 January 2012 |
|
| Assignment 2 |
10% |
Friday, 17 February 2012 |
|
| Assignment 3 |
10% |
Friday, 9 March 2012 |
|
| Assignment 4 |
10% |
Friday, 30 March 2012 |
|
| Assignment 5 |
10% |
Friday, 13 April 2012 |
|
| Midterm Exam 1 |
10% |
Friday, 10 February 2012 |
In-class |
| Midterm Exam 2 |
10% |
Friday, 16 March 2012 |
In-class |
| Final Exam |
30% |
Scheduled by the Registrar |
|
As stated on the course information sheet, the average of your midterm
and final exams must be over 50% in order for you to receive a C-
grade or higher in CPSC 217.
The grade conversion method from percentages to letter
grades I will use is below. Rounding will be
performed if necessary using the usual method. The square
brackets and parentheses are used in their mathematical sense,
meaning that square brackets are inclusive and
parentheses are exclusive. For example, a grade of
93.75 is an A, not an A-.
| Percentage Range |
Letter Grade |
| [93.75, 100] |
A |
| [87.5, 93.75) |
A- |
| [81.25, 87.5) |
B+ |
| [75, 81.25) |
B |
| [68.75, 75) |
B- |
| [62.5, 68.75) |
C+ |
| [56.25, 62.5) |
C |
| [50, 56.25) |
C- |
| [43.75, 50) |
D+ |
| [37.5, 43.75) |
D |
| [0, 37.5) |
F |
An A+ in the overall course will be
awarded at my discretion for outstanding performance
in all components of the course.
Lecture Overheads and Material
Please note: the slides may be changed up until class time as I
fine-tune them!
Past Exams, Study Aids, and Extra Information
Assignments
PASS Program
Ryan Cox
is your friendly
neighborhood PASS leader. The sessions are at
| Tuesday 11:00 am - 11:50 am in 355D TFDL |
| Wednesday 10:00 am - 10:50 am in 355D TFDL |
| Wednesday 12:00 pm - 12:50 pm in 403 TFDL |
Ryan also has an office hour: it's just after the Tuesday session, from 12:00 pm to 1:00 pm. The location for
it is in the student success center on the third floor of the TFDL. There
isn't a room number but you can ask at the desk to be shown where Ryan is.
How to Contact Me
My official office hours are MWF 10-11am at the CT Desk in
the first floor of the Math Science building, starting January 16.
As other times: my office is in ICT 650. Feel free to drop by;
I have an open-door policy. If my office door is closed - a
rarity - please don't knock. I'm probably frantically trying to get
something done.
The best way to reach me outside of office hours is by email:
aycock@ucalgary.ca.
I read my email very frequently, even on many evenings and weekends; many
questions can be answered that way. If you want to arrange a
face-to-face meeting outside of my office hours, send me some mail and we
can set up a time.
Please include ``CPSC'' or ``217'' in your email subject line so that it stands
out from the tons of spam I get sent! My mail reader highlights messages
that contain CPSC or 217 in the subject line.
While I can be found on Facebook, I use it only for non-work
contacts, so I won't respond to any CPSC 217 messages or friend requests
on there, sorry!
John Aycock
2012-04-23