APCO/IASC 1P00: Introduction to Media Computation

APCO/IASC 1P00: Introduction to Media Computation
Instructor and TAs
Jon Radue (jradue@brocku.ca), Room MC J 318
Teaching Assistants/Lab Demonstrators: Allen Poapst and Adam Stirtan
Markers: Prathap Siddavaatam and Anwar Abdalbari
Office Hours and Help
Mondays and Wednesdays, 10am to 11:30am.
Also note that there is a Computer Science Help Desk in MC J304.
Prerequisites
Logical thinking and some simple arithmetic knowledge! An inherent prerequisite is a desire to
improve both one’s ability to solve problems and one’s knowledge of computers, computer
programming concepts and the web. Programming experience is very useful, but not required.
Objectives
By completing this introductory course for Applied Computing, you will develop a foundation in
both problem solving and programming (in Python) through the use of media. Programming
concepts such as “loops”, “arrays”, and “conditionals” will be learned through the manipulation of
pictures and sounds. With so much focus on the internet in today’s business world, the ability to
work with web page coding is very valuable and thus some basic web page manipulation will be
done. Examples will always be provided when you are asked to develop a program—also known as
“programming by example.” Or put slightly differently, you will develop a “hacker mentality” where
you will be able to figure things out on your own!
Learning Time and Patterns
A course in programming is probably very different from many courses that you may have taken.
Just as learning to play a piano cannot be achieved the night before a recital, learning to program
requires plenty of practice, and learning from your mistakes. If you cannot afford regular time to
work on course material, then you may not do well. Conversely, completing, and understanding, all
the labs, assignments and possible extra practice examples, and attending the tutorials, almost
assures you of success without the need for cramming the night before a test or examination. This
course should not require MORE work than other courses—it just requires it to be spent uniformly
over the semester! If all term work is submitted, final evaluations are usually more favorable.
For your interest, here are the marks from a previous semester—other than a few outliers, note
how the N/As are more prevalent the lower the final mark. In addition, some information is
available on how to succeed at failing this course. Some student comments from a previous
semester should also help you.
Text and Free Software
Introduction to Computing and Programming in Python: A Multimedia Approach by Mark Guzdial
and Barbara Ericson, Pearson Prentice Hall, 2nd Edition, July 2009, ISBN-13: 978-0136060239. It is
US$96.28 at Amazon.com, but CDN$131.71 at Amazon.ca and, delivery included from
Amazon.co.uk for CDN$79.65 (go figure!). Brock’s bookstore has it priced at $141.95. One can get
the same textbook online (US$52 for 180 days) through CourseSmart (an app is available for the
iPhone as well.) Copies are on 3 hour Reserve in the Library (under APCO 1P00). Free online texts,
such as Dive into Python and A Byte of Python are available for more advanced students, but note
that these do NOT cover the JES enhancements we use, and may confuse the regular student.
(Also check out the NYT blog “How to find Cheaper College Textbooks”, August 3rd 2010.)
We use JES, and the latest JES software (Version 4.2.1, or 4.3, using zero-based indexing) for the
PC, Mac or Linux, can be freely downloaded from Google Code. On a PC, it might be the easiest to
install using jes-4-3.exe.
You can also download and unzip the files onto a USB key, and then run JES from the same key.
The media sources (sounds and pictures) can be downloaded separately. The Media Computation
Teachers Website links to these and other useful pages, including the author’s slides.
Computer Assisted Teaching (Student Response System) using monocleCAT
We will be using the monocleCAT system from Top Hat Monocle. There are bonus marks available
for participation. Coupons can be purchased from the Brock Campus Store (4 months for about
$20), or you can pay by PayPal or Credit Card when you register at www.tophatmonocle.com. [In
addition, a survey on the system’s use will be administered after the mid-term by Melissa Dol for
her 4th year thesis.]
Mark
•
•
•
Distribution
Assignments — 25% (5 biweekly assignments, with weights of: 3%, 4%, 5%, 6%, 7%)
Labs — 6% (9 Labs. You can miss one lab and still get the 6% as each lab’s weight is 0.75%)
Mid-term Test — 24% (on Tuesday 26th October, 6 to 7pm, in the Tutorial, followed by the
lecture.) Oral/verbal tests will be probably given for legitimately missed tests.
• Final Examination — 45% (2 hours)
• Participation — 3% bonus, if you participate in ≥ 60% of the monocleCAT questions in class
Class Civility
Be considerate of others and help create a positive learning environment. For instance, if you
arrive late or intend to leave early, sit near the back. Although laptops are allowed in lectures, try
not to distract those near you (for example, turn the sound off, and refrain from IMing and
games.) Please turn off all cell phones before you enter the lecture room; if you forget and your
phone rings during a lecture, please turn it off quickly, or leave the lecture room quietly.
All email messages sent to me or the TAs MUST contain your student number and the course
number “1P00” (without the quotes) at the start of the “Subject” field (e.g. 1234567 1P00
Clarification of Assignment 1). Note that email will not normally be answered immediately, but you
can expect a day’s turnaround. If you do NOT receive a reply within 24 hours, it may be because
your email did not have an acceptable subject line, or was ungrammatical, or rude, or completely
incoherent. As the medium is email, I do not expect to encounter text messaging conventions—
leave those for the appropriate medium. In order to reduce email flooding, I would appreciate it if
you would write down all your questions and try to figure out the answers yourself before emailing
me. All originating email for this course is sent to your official Brock email address (viz.:
ab12cd@brocku.ca). For your own protection, you should keep copies of ALL sent mail (which is
date- and time-stamped).
Access for Students with Disabilities
As part of Brock University’s commitment to a respectful work and learning environment, the
University will make every reasonable effort to accommodate all members of the University
community with disabilities. If you require academic accommodations related to a permanent
disability in order to participate in this course, you are encouraged to contact the Student
Development Centre, Services for Students with disABILITIES (4th Floor Schmon Tower ext. 3240)
and then discuss any necessary accommodation(s) with me.
Assignments
Isaak will be used for the electronic submission and return of assignments, and they will be
marked online, thus requiring you to submit your work as PDF files, created via PDFCreator—Mac
users merely select PDF and Save to a PDF file in the print dialogue box. Full submission and PDF
file creation details will be given with each assignment.
You can work individually or collaboratively in pairs only. If you work with a partner, both of your
names and student numbers must appear in the single submission, and the checking of the pledge
box will be assumed to cover both of you.
2 of 5
If you do not understand the assignment solutions as developed (if your partner did all the work,
for example), then you will be at a significant disadvantage in the individual assessments (test and
the examination.) While you can use some of the lab time to work on your assignment, you will
also need to work on your assignments outside of the scheduled lab times.
You should neither modify nor move any file after its submission as this changes the file’s
modification date—you may thus not be able to prove that you completed the work on time, if
there are problems. Do NOT use the desktop (in the labs) to store any of your files.
Plagiarism is NOT acceptable and will not be condoned. All borrowed work must be mentioned in
appropriate comments in your source code. As mentioned, if you collaborated with another
student, please provide his/her name and student number (AND hand in only one solution.)
Assignments may be submitted to a plagiarism checking site. If plagiarism by a pair is suspected,
both partners will be held accountable.
Late submissions will only be accepted up to the late date shown on each assignment, subject to a
penalty of 25%. Assignments, and their due dates, will be available on Isaak.
Submissions are normally marked by the TAs or other markers.
Labs
See the Announcements for the start of labs. The labs are held in MC J301, and are managed by a
TA. The first part of each Lab will normally cover planned work, with the second part being
available for the current Assignment and answering of queries. You really should attend the Labs
as they will substantially increase your understanding of programming concepts! The practice
problems in the labs enhance your learning.
MC D205 also has the JES software installed, in case you need extra access time outside of your
scheduled lab periods.
Tutorials
The weekly tutorial is used to discuss the solution of problems: these often pertain to the current
or next Assignment, or to areas not specifically covered in lectures. The tutorial is optional but it is
highly recommended that you attend.
Mid-term Test
Individual work is required. An original (no photocopy) handwritten data sheet is allowed—one
side of an 8½" x 11" sheet, with name and number, and handed in with your answer book. Keep a
copy for yourself! You might ask, why original? And why handwritten? By completing a data sheet
yourself you actually study the material, and if it is handwritten, it then cannot easily be
reproduced for, or by, someone else!
Cell phones are not allowed on the desk during the test. They MUST be switched off, and placed
with your books/jackets, backpack, etc. If a cell phone rings during a test, you will be asked to
leave with it and NOT return. Emergency communication requirements can be accommodated. In
fact, no electronic devices of any kind are allowed, which includes calculators and
wireless/BlueTooth headphones/earpieces.
In the interests of having a level playing field, please don’t talk during the test. Those caught
talking will be asked to leave the room, and will forfeit all marks for that test.
Check Your Posted Marks
For each submission (assignment, midterm test), the mark posted on the web should be checked
against the mark on your submission. Discrepancies (incorrect mark, missing mark) must be
brought to my attention within 7 days of the mark being posted on the web. Re-marking must be
3 of 5
requested, in writing, using this form, within 7 days of the results being posted on the web. Please
read the entire form before submission. Marks not queried within this period will be considered
final.
Final Examination
The examination period is listed on the Registrar’s site. Please do not schedule vacations or
trips over this period, as accommodations are arranged for mitigating circumstances only—see
appropriate “Further Notes” below. Individual work is required. Again, and for the same reasons as
the test, an original (no photocopy) handwritten data sheet is allowed—both sides of an 8½" x
11" sheet, with your name and student number, and handed in with answer book. Keep a copy for
yourself!
Restrictions on what is, or is not, allowed in the examination room will be detailed on the script—
typically no electronic devices of any type, including cell phones and MP3/4 players.
You need to achieve at least 40% in the examination in order to pass this course.
Re-marking of an examination must be arranged through the Computer Science Office (MC J314),
after the results have been posted on the web.
Further Notes
All course-related announcements will be posted on the Announcements tool, and perhaps also
emailed.
1. Questions and discussions are encouraged in class.
2. Mitigating circumstances (such as an accident or a serious illness affecting you or a close
family member, the death of a close family member) may allow the rescheduling of tests or
examinations, or the extension of a deadline. You must submit either this completed medical
form, or suitable evidence of the accident, bereavement or family illness, within 7 days of the
test/examination or deadline, to the main office in the Computer Science Department (J314),
for possible alternative solutions. The following are among circumstances that are regarded
as NOT mitigating: misreading the date and/or time of an examination or test; anticipated
or scheduled events (such as trips home, birthdays, vacations or weddings); pressures from
work; examination clashes or more than one examination on a day; computer problems
which could reasonably have been avoided. Note that our departmental computing systems
occasionally fail—in such circumstances extensions of deadlines are given.
3. The latest date for withdrawal from this course without academic penalty is specified here.
4. You should read, understand and follow the Academic Computing Information section in the
current Calendar. You implicitly acknowledged as having read and understood it when you
registered!
Course Content
[The text will be used as a guide. The labs are an integral part of the course. It is planned to have the lectures available as
video recordings. You should plan to attend the lectures, as just viewing the video is insufficient and not interactive. Many of
the slides used are based on those from the textbook author’s web site. This reference will not appear on all slides!]
•
•
•
•
•
•
•
•
•
Introduction to the course through a review of the Syllabus. “Programming by example.”
Introduction to JES and to programming (Text Chapters 1-2)
Debugging throughout the course and programming patterns
Variables; Introduction to pictures; Editing pixels; Saving images (and sounds) to disk
(Chapters 3-4)
More pictures; Programs invoking other programs (Chapter 4,5)
Introduction to Sound; Arrays; Loops, conditionals and flow of control (Chapters 6, 7)
Parameters; Casting (Chapters 7, 8)
Design and debugging; Introduction to HTML and web pages (Chapter 9)
Introduction to dot notation and objects (Chapter 10)
More HTML; Using Python to create web pages (Chapter 12)
4 of 5
•
Revision of course
Some civility ideas based on http://chronicle.com/wiredcampus/article/3515/3-more-favorite-student-e-mails-to-professors
5 of 5