Computer Science 161 Sections 11 & 12 — Introduction to Programming

Fall 2022

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!


Lecture Section 11

  • Dr. James Hughes

  • Office: Annex 20B

  • Office Hours:
    • Tuesday, 10:00am – 11:00am

    • Wednesday, 10:00am – 11:00am

    • Friday, 10:00am – 11:00am

  • Email: jhughes at

Lecture Section 12

  • Dr. Jean-Alexis Delamer

  • Office: Annex 9C

  • Office Hours:
    • Monday, 9:00am – 10:00am

    • Tuesday, 10:30am – 11:30am

    • Wednesday, 10:30am – 11:30am and 1:00pm – 2:00pm

    • Thursday, 10:30am – 11:30am

  • Email: jdelamer at

Class Times

Lecture Section 11

Dr. Hughes

  • Tue 11:15 - 12:05 (K4), MULH 2070

  • Wed 13:15 - 14:05 (K5), MULH 2070

  • Fri 12:15 - 13:05 (K6), MULH 2070

Lecture Section 12

Dr. Delamer

  • Mon 10:15 - 11:05 (C1), SCHW 110

  • Wed 09:15 - 10:05 (C2), SCHW 110

  • Fri 08:15 - 09:05 (C3), SCHW 110


Lab Section 11 & 12

Dr. Hughes

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

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

Lab Section 13 & 14

Dr. Delamer

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

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


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)



Assignment 1


End of September-ish

Assignment 2


Mid October-ish

Assignment 3


Early November-ish

Assignment 4


End of November-ish




Midterm Exam


October 19 in class

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. We reserve the right to use similarity detection software to detect possible cheating cases.

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.


Since mistakes are expected and lost marks are meant to provide feedback and not intended to be a penalty, students can redeem 50% of their lost marks via assignment recoupment.

Students will have 1 week after their marked assignment is returned to incorporate feedback, correct mistakes, and resubmit their assignments for additional marking. All corrected mistakes can recoup 50% of the lost marks on that assignment. For example, if a student obtained 80/100 on the assignment after the regular submission, and the student correctly fixes errors that account for 12 of the 20 lost marks and resubmits for recoupment, the student will gain 6 more marks for a total of 86/100 on the assignment. As always, no late submissions will be accepted and all work will be checked for plagiarism or cheating.

There are some conditions, however. The marker will inform the student if their assignment is eligible for recoupment; only assignments deemed eligible may be resubmitted. Only assignments that were completed and attempted in earnest are eligible. Students with missing code/functions/portions of the assignment will not be eligible. If the student has portions of code that demonstrate a lack of a sincere attempt, the assignment will not be eligible for recoupment.

Further, it is the responsibility of the student to make clear to the marker what exactly has been updated and changed. If the marker is unable to quickly determine what fixes the student has made, the resubmission will not be considered for recoupment. This could be in the form of notes in the Moodle submission with corresponding comments within the code.


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.

Missed Midterm

There are no make-up midterms. If a student is unable to write the midterm, the weight of their midterm will be added to the weight of the final exam; the final exam will be worth 50% of the student’s final grade,


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.

Pre lab exercises must be completed before the start of the lab. Students who have not completed the pre-lab exercises will be asked to leave.

Lab exercises must be completed for marks; attendance and lab completion is mandatory. Each completed lab is worth 1% of the final grade (to a maximum of 10%). It is your responsibility to ensure your attendance and exercise completion is recorded.

There is a total of 11 labs, however there is potential that some labs may be cancelled. In the case where there are less than 10 labs, your individual grades will be adjusted such that each lab is wroth the amount necessary to ensure the lab portion of the final grade is still 10%.

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

Email Contact

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

Emails can be sent to By using this address, both professors and TAs obtain a copy of the email.

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.

As per university policy, masking and proper social distancing is required. Students refusing to follow this policy will be asked to leave.


Students missing three classes without reasonable cause will be reported to the Associate Dean. See section 3.7 of the academic calendar for more details.

You will be reported to Dr. Cathy MacDonald, Associate Dean, Academic Affairs’ Office 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

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.

Statement on Accommodation of Religious Observances

Requests for accommodation of specific religious or spiritual observance must be presented in writing to the instructor within the fist two weeks of class.

Statement for Students with Disabilities

Students who have a disability and who require academic accommodations must register with the Centre for Accessible Learning as early as possible in order to receive accommodations.

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

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.


Everyone learns more effectively in a respectful, safe and equitable learning environment, free from discrimination and harassment. We invite you to work with me 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 us about your questions or concerns about equity in our classroom or in the STFX community in general. If we cannot answer your questions or help you address your concerns, we encourage you to talk to the Chair/Coordinator of the Department/Program or the Human Rights and Equity Advisor. Please note that a Human Rights and Equity Advisor will soon be appointed. In the meantime, students, faculty, or staff may also contact the Director of Human Resources at or the Office of the AVP&P.

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. Please advise me of this preference early in the semester. See policies at