Computer Science 150 Online Summer 2020 Syllabus

Syllabus Index
Objectives Exams
Texts and Software Blog
Professor Work Load
Sakai Usage Homework
Zoom Academic Dishonesty
Piazza Programming Environment
Class Attendance and Activities Questions
Semester Grades


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 in this course. Information Services has free Short Courses on using such applications.

Texts and Software

All required material is free on the web in written form, which can be printed, and most of the material is also covered as videos that you can download from Google or one-drive (Loyola cloud storage). The cover page for the Hands-on Python Tutorial lists various resources:

You may download videos for most all of the course content. The links and descriptions are in the tutorial at the beginning of

Students have different learning styles. Some absorb thing well by reading and doing. They can mostly just look at the written tutorial, and ignore the videos except in a few places where I mention that the videos include major things missing in the text, and where the videos are demonstrating something naturally visual.

Other students really like to hear and see at the same time as with a more traditional presence of a professor introducing material. For this class the professor's traditional presentations are provided by lots of videos. You can replay bits of videos as many times as you need to, and you can stop the video and think when I pose a question (and before I likely give the answer shortly after that in the video).

I repeat: In any case, for Python you need to download and unzip my Python tutorial example zip file.

If you would like alternate explanations, some of the many Python resources are listed and briefly described in the latter part of the course home page, and many more are at the home site for Python:

Further course materials, not centered on Python, are in the course notes at, with main parts on video, at the Google and one-drive URLs, as described in the Tutorial.

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

Because of the flipped format, Will generally be able to anwer your questions individually in class, but please ask if other or additional times are important for you.

Email, or preferably communications through Piazza (see below) are always appreciated, and with Zoom, we can set up separate synchronous times to work individually.

Sakai Usage

Private information between professor and individual students will be handled through the University Sakai system. It will mostly be used for the blog, grades, homework submissions, and grader comments. The public course materials will all be posted directly on the web under

Online environments

For programming we will be using Python, but both the Python installations and the operating systems keep changing. The appendix in the tutorial has separate sections for the operating system specific installation needs for Windows and Mac OSX. There is also some other operating specific information there.


We will be using Zoom for synchronous online sessions. That could be a brief whole class description/screen-share/discussion. After that we go into breakout rooms for an individual or partners, and I deal with individual questions. You may already have a desire to discuss/display individual or pair work, or you may just work on the course and see if questions come up during the breakout portion of the class. It may be sufficient for you to interact with me as a circulate around through breakout rooms naturally. If you get to a place where quicker help is useful to move forward, you can call me into your breakout room: In Zoom there is a raised hand icon that works in breakout rooms. It notifies me that you would like my attention sooner rather than later, so I am likely to switch my order of visiting breakout rooms.

At other times, if you are working on homework with a currently remote partner, you can host a Zoom meeting and discuss and share screens!

The main things you want to be able to do in Zoom are

  • Go to the classroom
  • Set up your mike.
  • Have and use earphones unless you have excellent feedback cancelation hardware.
  • Mute and unmute the mike.
  • Share/unshare your screen.
  • Raise your hand in the "main" room and in a breakout room.
  • Use the chat window.
  • Enter a breakout room when requested to.
  • Start your own Zoom session to work with a partner remotely.

There are varous informatiom resources for Zoom at

Piazza - Asynchronous

Go to the Piazza sign-up page, select Student, and put in your Loyola email address when asked. This is important - class communications will be through this site.

Later, after signing up, return to the site with the URL

Piazza is an online learning community - sort of social media for a course. I have been using it for a number of semesters.

You encouraged to pose conceptual or technical questions publicly and offer answers to others there. Pose questions about your specific work on exercises to me privately.

Your first entry (after signing up) should be a response to my request to introduce yourself to the class. I started with the first response. Add your own in the text box under Start a new follow-up discussion. The more students who fill this in promptly, even before the first class, the easier it will be to arrange a partner for programming assignments. This is handy since there is not a physical classroom where we get together.

Entries in Piazza come in several forms: general comments, questions, answers, discussion on an issue with a problem, and edits to previous entries (this is a wiki). Entries can be directed to various groups, as mentioned above.

It is a wiki which means it as a shared, editable space: If you think you can improve something posted publicly by anyone, change/edit it.

Be careful with questions and comments that would help with a homework problem: If you post for everyone to see, the entry needs to be general or conceptual enough not to give away solution details. Do look early at the homework, think, and post such questions, to get early help! If you have a question that is directly related to a solution you are thinking of, it should be a private communication for me and the TA.

Here are suggestions on using the individual types of Piazza contribution:

General Comments

Here are some ideas:

  • If they are not giving away a part of a homework/lab problem, they can be anything useful to the general community.
  • Requests for special emphasis in the next class make sense to go out to the whole class, too. After an initial request, "me, too!" additions are very helpful for me to plan how to make class time best support you!
  • If you found a good web site that addresses a course topic in a way that you like, post the URL with a comment.
Other than the restrictions around specific assigned problems, use this community for help. We will discover more ways as we go along! Do organize your materials so you know where to look first for resources. Be aware of the recent course reading and topics. Go to the community second.
This is a wiki. One latest version appears directly, though the earlier wiki history can be viewed. Be helpful. It is particularly important in your learning to read critically. If you can improve an answer, edit it!
Discussion on a question
There is a provision for discussion of issues separate from answers. If the issue is resolved, the issue can be marked closed (but it is a wiki - it could be reopened by someone else).

Suggestions to me for optimizing Piazza use in our learning community are highly encouraged.

Initially, make sure you respond to my invitation to join, and add a response to the "Introduce Yourself" note.


Communication is encouraged through Piazza, particularly for content that might resonate with others in the course. Make sure you log in and give it your preferred email address. I will generally send announcements through Piazza, so I strongly suggest you set up Piazza for frequent updates via email. I may occasionally send a very important note and override your email preferences, so you get notified immediately.

Class Attendance and Activities

We meet online at Be sure to promptly test out your computer, internet, and microphone hardware.

I will try to have the meeting space opened 5-10 minutes before class time. Class is a good place to get a sense of others in the class, to give and to discuss suggestions for this online class, and you to voice general questions and comments, and let us respond.

I plan to record our synchronous sessions. Remind me to set that up at the beginning of each class! (I can forget!) Please try to log in to class consistently. It is the only real group contact we have in this online course.

To stream a classtime video: Open the course Panopto folder from the Panopto icon in Sakai. The icon looks like a video camera. Then choose the video that you want. Each name include the date of the video. I try to have a video uploaded in the evening after each class.

In this flipped class, with basic learning materials online for you to consider on your own schedule, instructor interactions will mostly be individual -- what help you need for where you are in your individual/pair work. Hence the synchronous parts of class periods are generally short, and more time is typically taken up in separate Zoom breakout rooms, giving help to individuals or partnerships. Since instructor help is centered around what appears on a computer screen, we can take advantage of the flexibility of meeting online to discuss and share screens. I can meet with people about individual questions at a wide range of times, while durting class is generally most convenient. It may be that people want to arrange individual meetings outside of class.

I am very happy to give extensive help inside or 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, including repeated help.

The most important thing associated with this form of course is the willingness to get help and to ask questions when needed: Most of the help is individual, so you need to say when you need help.

The following are legal statements you will find for any Loyola class doing class recordings, to assure your privacy:

In this class software will be used to record live class discussions. As a student in this class, your participation in live class discussions will be recorded. These recordings will be made available only to students enrolled in the class, to assist those who cannot attend the live session or to serve as a resource for those who would like to review content that was presented. All recordings will become unavailable to students in the class when the Sakai course is unpublished (i.e. shortly after the course ends, per the Sakai administrative schedule). Students who prefer to participate via audio only will be allowed to disable their video camera so only audio will be captured. Please discuss this option with your instructor.

The use of all video recordings will be in keeping with the University Privacy Statement shown below:

Assuring privacy among faculty and students engaged in online and face-to-face instructional activities helps promote open and robust conversations and mitigates concerns that comments made within the context of the class will be shared beyond the classroom. As such, recordings of instructional activities occurring in online or face-to-face classes may be used solely for internal class purposes by the faculty member and students registered for the course, and only during the period in which the course is offered. Students will be informed of such recordings by a statement in the syllabus for the course in which they will be recorded. Instructors who wish to make subsequent use of recordings that include student activity may do so only with informed written consent of the students involved or if all student activity is removed from the recording. Recordings including student activity that have been initiated by the instructor may be retained by the instructor only for individual use.

This forces the consequence that during the semester you can stream class recordings while online, but you cannot download them for viewing later when offline.

Semester Grades

Grading weights:
programs/homework/classwork (30%), exam 1 (15%), exam 2 (25%), final exam (30%).

A bonus of 2 points is available for consistent blog entries.

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 77, a final exam scaled to 92, and wo submitted all the blogs on time, would have a final numerical grade of (.30)(95) + (.15)(75) + .25(77) + (.3)(92) + 2 = 88.6, a B+.

Only raw grades will appear in Sakai, not scaled or weighted grades. The raw grades in Sakai 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 Sakai are meaningless. (Sorry I cannot seem to block you seeing them.)

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

A 93.0 A- 90.0 B+ 87.0 B 83.0 B- 80.0 C+ 77.0 C 73.0 C- 70.0 D+ 67.0 D 60.0.

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/answer questions in class/Piazza about your reading/viewing!


The tentative exam due dates are below, all at 11:55PM in Sakai:

  1. Wednesday, June 3
  2. Wednesday, June 17
  3. Final Exam: Friday, June 26

The schedule shows when you can expect the exam to be posted in Piazza, on the evening before the exam is due. Review material for each exam is also linked in the schedule.

Your exams will start with verbiage something like:

Comp 150 Online Exam 1 Due in Sakai by 11:55PM June 3, 2020 Prof. Harrington. 100 points

Notes allowed on two sides of 8.5 x 11 inch paper. No books, calculators, help, or web research, or other outside resources, other than emailed clarification requests to me. You can choose the 3 hour interval when you look at the exam, as long as you submit the exam on time.

You can print out the exam, write on it, and turn into Sakai scanned or clearly photographed (and checked!) images. Alternately, for part or all of your solution, you may use a computer as a word processor only, and just turn in the file you create with your answers.

Python should not be running in any form.

In requested printed output, show all output in the order of execution, with correct line breaks shown and clear blank space where a blank should be. You increase your chances of partial credit if you also clearly show significant intermediate steps, separately from and in addition to, the final answer.

I have taken this exam in the time allowed, using no sources or aids except the notes allowed.

Sign/print name: __________________________

Time spent on the exam: ____________

Exam coverage

Exams will cover material discussed in class, reading material on the web, and assignments. Exams will always be cumulative. You will always be allowed at least two 8.5 x 11 inch sides of notes for exams. As the allowed notes suggest, the exams are not going to be looking for fact recall, but for concept application.

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 participate 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 hours 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 5-7 hours for each of our synchronous classes. We do not have time to waste the first day. You have a major reading assignment to discuss and ask questions about on the first day. See the Prep assignment in the schedule.

There is a further issue even if you have 15-22 hours available, but only at very restricted times: You are encouraged to program with a partner, and that will not work out if you do not have enough flexibility in your schedule to arrange many hours that also suit a partner. Not having a partner could make the course harder for you.

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 than in a 15 week semester 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.

Students used to a face to face class with material presented at a fixed pace in class must make a major adjustment to a commitment to keep up with this flipped, largely self-directed course. Help is always available, but you have to put in the work regularly to see what help you need, and be proactive about getting the help! If you are used to your scheduling being driven mainly by what the instructor is likely to ask you in the next class, then you need a major change in plans.

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.... Your blog, discussed below, is another way for me to get a feeling for how you are doing.


We will use the Sakai Blog feature for basically private journals, shared only with me, to help me stay connected with you. If you just create a blog entry and submit it, then you and I can see it but nobody else. Do not do further things to make entries public.

Things to include in a blog entry:

  • Where you are in watching/reading/absorbing the material (by a section name and maybe number). The current point may not be clear cut. If you have moved ahead but have major questions on earlier material, say so.
  • How far you are on the individual exercises in the next written assignment.
  • How it is going. Indicate any major issues. Note major insights.
  • Make any suggestions or questions you have for me. If I asked a question in my previous comment to your blog, please respond.

Blogs entries are due twice each week, Sunday and Wednesday. Please try to write each one after the previous one is due, so the timing is spread fairly evenly. You do not need to write on the weekend: you can do the one due Sunday on the previous Friday.

I will plan to make a return comment in your blog by the day after each entry is due.

Bonus points are added to your semester grade for blog entries:

  • 2 points for 9-11 timely, complete blog entries
  • 1 points for 5-8 timely, complete blog entries


Initially there will be ongoing assignments to work on the Python Tutorial. You should keep all your files for tutorial exercisess, and you will asked to turn it in a chapter at a time. You are given names for the files you are instructed to create. I will be expecting these particular names to be used.

There will be reading/viewing assignments for all class days, shown in the course schedule along with written graded assignments, generally submitted through the Sakai assignment submission system.

Homework assignments are due at 11:55PM at the end of the date specified. Programming assignments should be turned running correctly. If your program is not running correctly, get help before you turn it in, even if it will then me late! It should not 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.

As you see from the exam description above, where you can bring notes, what is important is being able to apply concepts. When you do something, always be able to think why you chose that process. The same process, not the same final answer will be important later. Getting the right final answer, so it works, is a test of the results of your thought process, but the specific result is not what you want to stay with you.

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 1% 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/removing 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 come to them as you view/read through the material.

The penalty for being late is way less than for turning in an assignment with program that is missing or does not work, Preferably start early enough to get all the help you need by the due date, but if something does not work, get it working before submission, even if that is late.

Pair Programming

It has been demonstrated that Pair Programming, two people collaborating on one problem with one person coding while the other looks on (either directly at the same screen, 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. You have the option to do pair programming in this course for programming 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!).

In particular, this does not give you permission to split up the homework - that is not a way to get both parties to learn everything. Again, see how to make pair programming work.

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 (but should be listed as a partner).

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 how you helped, and your take on the help you gave.

I have given out 0's and joint referrals to the Dean, after a person gave solutions away to an outside person and depended on the receiver to "only get ideas" from the shared solution - only to later for me to find that the solution got very obviously copied.

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 incident.

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 or the TA, or a department tutor. 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 as a download to your own computer. There are several choices based on program version and operating system. You should get Python version 3.8.2 or greater for your operating system from the central site It comes with the graphical interface, Idle, which we will use. There are many more complicated alternate free Python development environments that you can download separately, like PyCharm, Community Edition, while Idle is particularly simple, and is discussed in the tutorial.

Before you install anything, be sure to look at the operating specific section for your computer in the tutorial appendix.

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.

This page will be the main administrative reference during the course. Bookmark it.


Please contact me if you have questions about these ground rules or about anything else in the course. Before/in/after class or a note in Piazza work for me. While the text and video is out there for everyone, you are paying for a Loyola course with me: take advantage of that; I am here particularly to help guide you in the spots the seem rough to you.

Back to Comp 150 Home