Computer Science 161 Sections 11 & 12 — Introduction to Programming

Fall 2023

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

Lecture Section 11

  • Tue 11:30 – 12:20 (K4), MULH 2070

  • Wed 13:30 – 14:20 (K5), MULH 2070

  • Fri 12:30 – 13:20 (K6), MULH 2070

Lecture Section 12

  • Mon 10:30 – 11:20 (C1), SCHW 110

  • Wed 09:30 – 10:20 (C2), SCHW 110

  • Fri 08:30 – 09:20 (C3), SCHW 110

Lab Sections

  • Lab Sec 11: Thr 14:30 – 16:20 (L8-A9), MULH 4024

  • Lab Sec 12: Fri 14:30 – 16:20 (C9-K9), MULH 4024

  • Lab Sec 13: Mon 13:30 – 15:20 (C4-A7), MULH 4024

  • Lab Sec 14: Tue 13:30 – 15:20 (A5-K7), MULH 4024

Office Hours

  • Tue 12:30 – 13:30, Annex 20B

  • Wed 12:30 – 13:30, Annex 20B

  • Thr 13:30 – 14:30, Annex 20B

  • Fri 13:30 – 14:30, Annex 20B


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 (Tentative Dates)

Final Grade Breakdown



Due Date

Assignment 1


October 9th

Assignment 2


October 30th

Assignment 3


November 20th

Assignment 4


December 4th

Test 1


October 4th

Test 2


November 15

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 following test or final exam, whichever comes first. If both tests are missed, the weight of the tests will be added to the final exam.


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 sections 11 and 12. Lab sections 13 and 14 begin week 2.

Lab attendance is mandatory and it is your responsibility to ensure your attendance is recorded.

You may only attend the lab session for which you are registered. Students must bring their student identification to all labs.

There are no make-up labs, and students who are absent for a lab do not have the option of attending another lab. Students who encounter serious health or other personal difficulties are encouraged to contact the professor.

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.


Students missing three classes without reasonable cause will be reported to the Assistant Vice-President Academic Affairs. See section 3.7 of the academic calendar for more details. You will be reported if you are repeatedly delinquent in assignments or attendance at classes or laboratories.

Class Recording Policy

Students may not create audio and/or video recordings of classes. Students creating unauthorized recording of lectures violate an instructor’s intellectual property rights and the Canadian Copyright Act. Students violating this policy will be subject to disciplinary actions.

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 (