Computer Science 150 Online:  Syllabus 

Syllabus Index


Computers are everywhere today.  The amount of information that can be creatively used is exploding.  The ideas in this course should be useful both to modern citizens of the world with main interests in other areas and also to people who are going on to further Computer Science study.

Microsoft Office programs like Word and Excel are NOT covered.  Information Services has free Short Courses on such applications.

Texts and Software

No texts are required.  All required material is free on the web in written form, and mostly as videos at iTunes U, also.  If you want printed materials, you can always print things out.  In particular the Hands-on Python Tutorial is separately formatted as an indexed pdf document, ready for printing.  ITunes video for the Tutorial is at 

The Hands-on Python Tutorial is designed specifically for this course.  If you would like alternate explanations, some of the many Python resources are listed and briefly described on the course home page and many more are at the home site for Python:

Further materials, not centered on Python, are in the course notes at, with paarts on video,

Other references will be linked directly into the course schedule  Look to the schedule for what is happening next and what is due next. 

Professor:  Dr Andrew Harrington

university ID for email: aharrin

Email is always appreciated, and with our online software, we can set up separate synchronous times to work individually.

Course Materials

Private information between professor and individual students will be handled through the University Blackboard system.  It will mostly be used for grades, homework submissions, and grader comments.  The public course materials will all be posted directly on the web under  One other private piece of data on Blackboard is the ID and password for the whole class to access the private folder on the course web site, where there may be solutions.

Online environment

Make sure you go through the materials specifically to prepare you for Loyola online courses,  We will be using Adobe Connect software for regular synchronous meetings, at  You are also likely to want to use the software for separate collaborations in pairs.  See Using Adobe Connect before we first meet.  Also look for communications about times to get together and test the software, so we can minimize time spent futzing with the environment when we want to be getting on with the coursework, together.

Class Attendance and Activities 

We meet  at  I will try to have the meeting space opened 15 minutes before class time.  Class is a good place to get together with your partner (see below).  There will often be time in class for everyone to work with their partner, and during the Python portion in particular, you can spend most of your time working at your own pace with your partner if you like.  Class is also a time for gathering in a group, trying on harder concepts for size with examples, discussing, and getting your questions answered.  You are responsible for what goes on in class, even if some of the activity may not be covered in the class notes.  I plan to record our synchronous sessions.  (Remind me to set that up at the beginning of each class!)  Please try to log in to class consistently.  It is the only real contact we have in this online course.

You can make the initial Python section be largely hands-on and self-directed, if you find that works well for you and your partner.  For those who prefer a more traditional presence of a professor introducing material, there are lots of videos.    In our synchronous time I will emphasize synthesizing course ideas in creative ways to address new and bigger problems.  Video exposition has the advantage of letting you interact with it on your schedule.  This allows more time for questions in the synchronous sessions.  You can also communicate questions in the middle of a video that you start looking at well before class, and continue after you get an answer.    

I am very happy to give extensive help outside class to people who log into class.  If my first pass on an idea was not enough for you, we can do better together in pass 2, and maybe pass 3 if needed, ....  Learning is a spiral process, and the rate varies by person and individual topic. Everyone can get it, particularly with help. Do NOT be shy about asking for help.  We can schedule individual synchronous meetings.

Semester Grades

Grading weights:  
       programs/homework/classwork (30%), two exams (20% each), final exam (30%).

Points are comparable only within an individual category, where I will take an average. Averages in different categories are combined using the weights above. 

For example a student who ends up with 95% in programs/homework/classwork, exams scaled to 75 and 85, and a final exam scaled to 92, would have a final numerical grade of (.30)(95) + (.2)(75+85) + (.3)(92) = 88.1, a B+.

Only raw grades will appear in Blackboard, not scaled or weighted grades.  The raw grades in Blackboard allow for easy checking of my accuracy in recording.  Please check periodically and correct us if necessary.  With these conventions, any cumulative totals you see in Blackbaord are meaningless.

I convert to course letter grades with the following minimum requirements:

A 93 A- 90 B+ 87 B 83 B- 80 C+ 77 C 73 C- 70 D+ 67  D 63.

If you have consistently displayed more knowledge and ability in class discussions than you show in your exams, I may raise this grade. Note that one way to display your effort and thought is to ask questions in class about your reading/viewing!


The tentative exam due dates are

Tuesday June 7, by midnight
Monday, June 20, by midnight
Final Exam:  Friday, July 1, by midnight

Dates are already posted in the course schedule.

Exam coverage

Exams will cover material discussed in class, reading material on the web, and assignments. Exams will always be cumulative, but they will NOT include new material from the class immediately before the exam. This way there will always be time for questions after digesting a class.  You will always be allowed at least 2 8.5 x 11 inch sides of notes for exams.  You will be given a time limit (much longer than you should need) of 2-3 hours.  I will post the exam at least a day before it is due, so you can choose your own exact time to work on it.  While doing an exam, you will be encouraged to use a computer strictly as a word processor, but not to run any code you write.

Exam Grading

Do not write down things on exams that you can see are incomplete or incorrect without making some comment acknowledging this -- it is better to know you are wrong than to be wrong and think you are right.

Missed Exams

If you must miss an exam, let me know well in advance. Then if you have a good reason we can possibly make other arrangements. I have little sympathy for people who inform me after the fact for no good reason. I may completely excuse you from an exam if you were sick or unable to attend for long enough. Most often if you cannot take an exam at the usual time, I will want you to take it a little later.

No second try:  If you have an excuse for not being prepared to take an exam, but decide to take it anyway, you don't get to change your mind after you see a poor grade.  Being sick is not a way to get one more chance than everyone else.  I may allow you to delay an exam due to illness, but I will not let you be reexamined due to a poor grade.

Work Load

Time flies when you are having fun.  I hope you do have fun as many have before you in this course, but you will only feel pressure if you do not commit to enough time as the course flies by in 6 weeks, rather than the usual 15 week semester.  Plan on this being an intense and fun experience.  If you figure 2-3 hours per week per credit in a normal semester, or 6-9 for a 3-credit course, and we are moving 2.5 times as fast, let it sink in that you need to plan on 15-22 hours a week, or 4-6 hours outside each of our synchronous classes.  We do not have time to blow off the first day.  You have a major reading assignment to discuss and ask questions about on the first day. 

The class days are not spaced evenly.  Having videos that you can watch on your own schedule means you can even out the workload if you get ahead between Thursday and Monday.  It is even more important to keep ahead as much as possible, because a lot of people finally "get" a topic when they get to "sleep on it".  You do not have a lot of nights to sleep on things. 

Part of keeping up is being sure you get help very promptly at the first sign of trouble.  Contact me.  Then at the next sign of trouble, contact me....


Initially there will be ongoing assignments to work on the Python tutorial, with some time allowed in the synchronous sessions, and some outside.  You should keep all your work from the tutorials, and you will asked to turn it in a chaptr at a time.  Generally you are given names for the files you are instructed to create.  I will be looking for these particular names.

 There will be reading/viewing assignments for all class days, shown in the course schedule along with written graded assignments, generally submitted through the Blackboard assignment submission system.  See electronic submission instructions for details and alternatives.  

Assignments are due at midnight at the end of the date specified unless otherwise stated.  Programming assignments should be turned in on time, running correctly.  If your program is not running correctly, get help before you turn it in!  In shouldnot be hard to see that your code is not working!  Graded assignments are either listed as programs (which you may work on in pairs)  or homework, which is generally an individual assignment.  Working on programs and homework problems is essential to your understanding of the course material and giving it insufficient attention will almost surely affect your exam performance.  

You must give credit BY NAME to any person who assists you in completing an assignment. Be sure to make clear the nature and the amount of help you received. Failure to acknowledge such help is PLAGIARISM and will be dealt with accordingly.  If you give help, you should also state in your own assignment, who and how you helped. See further restrictions below under Academic Dishonesty. 

Late Assignments

Late work can be penalized 20% per day including weekends.  If there is some special reason for an assignment being turned in late, preferably speak to me directly first.  I will consider reducing the penalties.  If I accept your reason, ALSO make a comment at the top of your source code in the main program. (This reminder helps!)  In this short semester, keeping up is extra important!  Start early, and get help, if you need it, early.  Preferably do assignments as you read through.

Pair Programming

It has been demonstrated recently that Pair Programming, two people collaborating on one problem with one person coding while the other looks on (either directly or with our modern technology from afar), whether beginner students or seasoned professionals, allows projects been done better and faster with more confidence, and also that students learn at least as well and have more enjoyment in the process.  We will have the option to do pair programming in this course for in-class work and programing assignments.  (Your exams will NOT be in pairs however!)  Read the page on how to make pair programming work and also the page of administrative guidelines for pair programming (mostly for when it does not work out as planned!). 

General Rules for Giving/Getting Help

An outside person, below, refers to someone other than a pair partner if you have one.  On their joint assignment, there are no limits on the communication between pair partners, and a pair partner does not need to be listed under those helping you.

If you are seeking help: I may read your code and comment on it for you. You must acknowledge my help, clearly explaining its extent. You may not read an outside person's code but it is permissible to talk about the solution of the problem (not the actual code). Anyone with whom you discuss the problem, must be listed in your documentation. 

If you are giving help:You may not allow an outside person to read your code "to get the idea". It is permissible to talk about your solution but be judicious about the hints you give. Again, the other student is responsible for listing your help in the documentation, and you should also list in your assignment eho you helped, and your take on the help you gave. 

Academic Dishonesty

The penalty for cheating may be anywhere from a 0 on an assignment to a grade of "F" in this course. The appropriate dean will be informed in writing of any cheating incidents.

Cheating consists of, but is not limited to:

If you are working on a pair or group project, an "outside person" only refers to people other than your assigned partner or team.   Note that cheating goes both ways:  both giving and receiving. 

Consultation is allowed with me.  If you consult with me, still make a comment at the top of your work about the substance and depth of the help.  

Help from any source is fine concerning

Programming Environment

We will be programming in Python, available in the University Windows labs, and as a download to your own computer.  There are several choices based on program version and operating system.  You should get Python version 3.2 or greater for your operating system from the central site  It comes with the graphical interface, Idle, which we will use.   The version, 3.2.1 is due out in early June, 2011.  I encourage you to get going on the course earlier, starting with version 3.2, and then download and install 3.2.1 when it comes out.  It will very easily replace the earlier version, and will fix some errors.

Campus Network, Rights and Responsibilities

As a user of the campus network, you should be aware of your rights and responsibilities in

Course Outline

The Course Schedule and Assignments page shows the progression of topics, reading, exams, and written assignments.  The time schedule of class topics is tentative.


Please contact me if you have questions about these ground rules or about anything else in the course.  After class, by email, in my office, by phone, all work for me.  I am here to help guide you in the rough spots.

Back to Comp 150 Home