Computer Science 161 Sections 66 — Introduction to Programming

Summer 2024

This course is offered asynchronously. The course schedule can be found here.

Course Description

An introduction to computers, algorithms, and programming. No previous knowledge of algorithms or programming is required.

This course is devoted to learning proper problem solving techniques and basic programming skills. Topics include problem analysis, algorithm development, data representation, control structures, lists, functions, testing, and file manipulation.

This class will use the programming language Python.


  • An interest in learning a bit about what programming can do for you!


  • Dr. James Hughes

  • Annex 20B

  • jhughes at

Lecture Times

  • Asynchronous — Content is to be covered independently while following the schedule.

Lab Sections

  • Asynchronous — Content is to be covered independently while following the schedule.

Office Hours

  • By appointment


Textbook and Lecture Notes

Lecture notes will be posted to the website. Assignments will be submitted through Moodle.

The textbook for this class is FREE !


We will not necessarily cover everything listed here, nor in this order. Due to the way the class is being taught, the material covered will adapt to the interests, and abilities, of the class. Many of the things near the end of the list are fairly optimistic and we’ll probably not get to them, but whatever.

  • Introduction to Programming

  • Variables and Statements

  • Types

  • Functions

  • Testing

  • Conditionals (If/Else)

  • Booleans

  • Iteration (loops)

  • Comments

  • Strings, and Input/Output

  • Lists, Tuples

  • Dictionaries

  • Pointers and RAM

  • Arrays, Numpy, and APIs

  • File Input/Output

  • Debugging

  • Searching

  • Sorting

  • Recursion

  • Objects

  • Computational Complexity

  • Data Visualization

  • Machine Learning

  • Dynamic Programming

  • Monte Carlo Methods

Student Evaluation

Final Grade Breakdown



Due Date

Assignment 1


Monday July 8, 2024, 11:55pm

Assignment 2


Monday July 22, 2024, 11:55pm

Assignment 3


Monday August 5, 2024, 11:55pm

Assignment 4


Sunday August 18, 2024, 11:55pm

Test 1


Wednesday July 24, 2024

Final Exam





Instructions for the submission of assignments will be posted on the course website. It is each student’s responsibility to read and follow the instructions. Failure to follow the submission instructions may result in the assignment receiving a mark of zero.

You will be required to submit each programming assignment electronically. Details will be given in the assignment descriptions. Similarity detection software to identify possible cheating cases will be used.

Due Dates

The date and exact time assignments are due will be given in the assignment specifications. No submissions will be taken after the due date; there are no late submissions. No extensions will be given for assignments.


Assignments are marked by the Teaching Assistants, who follow marking schemes provided by instructors.

A request for adjustment in an assignment mark must be made within 2 weeks of the date on which it was first available after marking. (Beyond that date, regrading will not be considered, regardless of whether you retrieved your assignment). Such a request must be submitted to the course instructor in writing, and must include specific reasons why you believe you deserve more marks. The request must be accompanied by all materials that were originally handed in, as well as the original marker’s grade summary sheet. The instructor will inform you by email when the reevaluation process is complete.

It is each student’s responsibility to keep up-to-date backups of assignment disk files in case of system crashes or inadvertently erased files. Students must keep disk copies of all material submitted, as well as the actual graded assignment, to guard against the possibility of errors in recording marks. It is not safe to discard these materials until you are satisfied that your final mark for the course has been computed properly.


No cheating of any form is allowed. Tests and exams are closed book/laptop/notebook/etc. and calculators, cell phones and/or similar devices are not permitted. The possession of unauthorized devices during tests and examinations constitutes violation of academic integrity, as per section 3.8.2(b)(v) of the academic calendar. Further, anything that a reasonable person would deem as cheating is not permitted and will be investigated fully as academic misconduct.

Test format will be in person; however, if necessary, the format may be changed to online. Students will be informed of the change as soon as possible.

Statement on Electronic Devices

Unless you have medical accommodations that require you to do so, or explicit permission from the instructor of the course, you may not use electronic devices during any of the tests, midterms, examinations, or other in-class evaluations, including, but not limited to: cellphones, smart phones, smart watches, smart glasses, audio players or recorders of any sort, video cameras, video games, DVD players, televisions, laptop/notebook/netbook computers, flashlights or laser pointers.

Missed Tests

There are no make-up tests. If a student is unable to write a test, the weight of their test will be added to the final exam.


The online exams in this course require a proctor. For instructions on how to schedule your exam with ProctorU, please see the Proctoring section of your course Moodle page. For information on policies governing your use of ProctorU, please see StFX Online / Student Support - Proctoring.

Online proctored exams open at 5am and close at 8pm to account for time differences and schedules. Students will create a ProctorU account and book a time through that platform.


The purpose of the weekly labs is to give students hands-on experience. Labs will have required assigned work and will revolve around Kattis.

Labs begin on the 1st week of class for lab.

Lab Procedure

Each lab consists of three parts:

  1. Pre-lab exercises

  2. Before Kattis exercises

  3. Kattis Problems

The “pre-lab” exercises are from the free course textbook and are selected based on their relevance to the course material.

The “before Kattis exercises” are the core part of each lab. These questions are designed to directly complement the course material covered in the topics and emphasize specific technical skills.

The “Kattis problems” are problems selected from Kattis, a website with programming competition style problems where people can submit their solutions for automated evaluation. A select set of Kattis problems related to course material are included at the end of each lab for students to work on. It is not necessary to complete all these problems for each lab as they can be quite challenging.

Students are not to submit any lab work for evaluation, but students are recommended to attend office hours to discuss any questions they have regarding the material.

Email Contact

Email etiquette — Emails should be addressed to Dr./Prof. Hughes.

I may need to send email messages to the whole class or to students individually. Email will be sent to the StFX email address assigned to students. It is the responsibility of the student to read this email on a regular basis. You may wish to have mail forwarded to an alternative email address.

Note that StFX and most other email providers establish quotas or limits on the amount of space available to you. If you let your email accumulate there, your mailbox may fill up and you may lose important email from your instructors. Losing email is not an acceptable excuse for not knowing about the information that was sent.

Students are encouraged to contact their course instructor via email with brief, email appropriate questions regarding lecture materials or clarification of assignments. However, before sending email to an instructor, the student should check the course website to see if the requested information is already there. Students must send email from their StFX account and include CSCI 161 in the subject line of the email. Lengthy and in-depth questions are to be asked during office hours.

Office Hours

Office hours are provided to students to facilitate their success — students are encouraged to come to office hours.

Students must understand that the professors and TAs are not there to provide them answers to problems, but to assist students solving their problems.

Statement of Academic Offenses and Academic Integrity

Please ensure that you are aware of the policy on Academic Integrity. Details can be found here.

Scholastic offenses are taken seriously and students are directed to read the appropriate policy, specifically, the definition of what constitutes a Scholastic Offense. See section 3.8 of the academic calendar.

It is your responsibility to understand what academic misconduct is. Ignorance of the rules is not an admissible excuse for academic misconduct. I will pursue academic offenses fully. I will apply -100% (not 0) as a grade. I will also advocate for an automatic failure in the course, or expulsion from the university when allowed.

Use of Plagiarism-Checking Software

All required papers/submissions may be subject to submission for textual similarity review to the commercial plagiarism detection software under license to the University for the detection of plagiarism. All papers submitted for such checking will be included as source documents in the reference database for the purpose of detecting plagiarism of papers subsequently submitted to the system.

Use of Cheating-Analysis Software

All submitted work may be subject to submission for similarity review by software that will check for unusual coincidences in answer patterns that may indicate cheating (MOSS).


The role of tutoring is to help students understand course material. Tutors should not write assignments or take-home tests for the students who hire them.

Information about Requesting an Accommodation at StFX

If you have a different learning ability and would like to request accommodations, please contact the instructor during the first week of the semester so that your accommodations may be provided in a timely manner. Centre for Accessible Learning (CAL) provides assistance in determining and facilitating appropriate accommodations for students with verified disabilities.

Tramble Center for Accessible Learning

The Tramble Center for Accessible Learning welcomes students with documented permanent disabilities and offers them a student-centered program of support. Located in Room 108 of the Angus L MacDonald Library, new and returning students meet with program staff to discuss options for support. Deadline for registering with the Center is two weeks prior to the end of classes each semester and 3 Business Days’ notice is required for booking all accommodated tests and exams. To book an appointment please use the following link: Accessible Learning | St. Francis Xavier University (

Academic Accommodation for Medical Illness

Those unable to attend class, submit an assignment, or write a test, should refer to sections 3.7 and 3.9 of the academic calendar.

Scent Policy

For the benefit of the many students that have a scent sensitivity, my classroom is a no-scent zone; please respect this policy.

Statement on Equitable Learning

Everyone learns more effectively in a respectful, safe and equitable learning environment, free from discrimination and harassment. Instructors and students are invited to work together to create a classroom space — both real and virtual — that fosters and promotes values of human dignity, equity, non-discrimination, and respect for diversity.

Please feel free to talk with your course instructor about your questions or concerns about equity in our classroom or in the StFX community in general. Should students have additional questions, they are encouraged to talk to the Chair/Coordinator of the Department/Program or the Human Rights and Equity Advisor, contact information can be found at Directory | St. Francis Xavier University (

Preferred Pronouns

Professional courtesy and sensitivity are especially important with respect to individuals and topics dealing with differences of race, culture, religion, politics, sexual orientation, gender, gender variance, and nationalities. Class rosters are provided to the instructor with the student’s legal name. I will gladly honor your request to address you by an alternate name or gender pronoun. Please advise me of this preference early in the semester so that I may make appropriate changes to my records. See policies at Policies | St. Francis Xavier University (

Support Services

There are various support services around campus and these include, but are not limited to:

  1. Student Life: Student Services | St. Francis Xavier University (

  2. Office of the Registrar: Registrar’s Office | St. Francis Xavier University (

  3. Health & Counselling Centre: Health and Counselling Centre | St. Francis Xavier University (

  4. Academic Advising: Academic Advising | St. Francis Xavier University (

  5. Academic Success Centre: Academic Success Centre | St. Francis Xavier University (

  6. Student Career Centre: Student Career Centre | St. Francis Xavier University (

  7. Office of Internationalization: Internationalization | St. Francis Xavier University (

  8. Financial Aid Office: Financial Aid Office | St. Francis Xavier University (

Health and Wellness

As part of a successful undergraduate experience at St. Francis Xavier University, we encourage you to make your health and wellness a priority. StFX provides several on-campus health-related services to help you achieve optimum health and engage in healthy living while pursuing your degree. For example, to support physical activity, all students receive membership to the StFX Athletics & Recreation Centre as part of their registration fees. Please visit the Athletics & Recreation website at Campus Recreation | St. Francis Xavier University ( for opportunities including intramural sports. Numerous cultural events are offered throughout the year. Please check out the Department of Music web page Music | St. Francis Xavier University (, the StFX Art Gallery ( or Theatre Antigonish (Theatre Antigonish | St. Francis Xavier University) ( for various events.

Further information regarding health and wellness-related services available to students may be found at Wellness@X | St. Francis Xavier University ( If you are in emotional or mental distress please refer to the various mental health supports provided through Health & Counselling at Health and Counselling Services | St. Francis Xavier University (