../_images/construction.jpeg

Fig. 1 This course website is currently under construction. The Unsyllabus and About this course sections have been completed, but remaining sections (including lecture pages) is still being editted. Photo by Mabel Amber from Pexels.#

–>

Unsyllabus#

Teaching Team ✏️

Information about the teaching team and how to contact us.

Contact Us

Course Schedule 🗓

A table of course topics and a week-by-week plan of what we intend to cover.

schedule

Doing Well 😊

Strategies and tips on how to do well in this course.

How do I do well in this course?

Getting Help ❤️‍🩹

Learn how to get help and get support if you’re struggling, academically or otherwise.

Getting Help

Evaluation ✅

Information about the grading system and evaluation scheme for this course.

Evaluation

Teaching Philosophy 🧙‍♂️

How this course will be taught and how humans learn (you may be surprised!).

philosophy

Changes ✍️

List of changes made to the Unsyllabus since the start of term, and a rationale.

Unsyllabus changes

Honesty & Integrity 😇

Completing this course with honesty and integrity. Examples of things you can and should not not do.

Academic Integrity

Special Days 🤧💝🕌🥳

What to do if you have to miss things because of special days (including getting sick).

missed-things

Important Details#

Name

Description

Course

CPSC 203

Term

2024 Winter Term 2

Instructor

Prof. Ian M. Mitchell (he/his/him)

Lectures

Tuesday, Thursday from 12:30 -14:00 in SWNG 221

Mode of Delivery

In-person: All course activities and assessments, including the Final Exam, will be conducted in-person

Canvas URL

https://canvas.ubc.ca/courses/152117

Course Discussion

To ask any course-related questions, use private (personal, not useful for anyone else) or public (helpful for other) messages on Piazza

You can find all the important term dates in the UBC Academic Calendar.

What do I need to purchase for this course?#

Being very conscious of the high tuition and technology costs, we have made efforts to remove the additional cost of taking this course. All course content, references, and resources provided in this course are free and open source, and can be considered open educational resources (OER).

Contact Us#

Team Member

Pronounce as

Contact

Office Hour

Prof. Ian M. Mitchell (he/his/him); Instructor

ee-en mitch-ell

Piazza

See Piazza “Office Hours Schedule”

Aryan Ballani

ar-yan

Piazza

See Piazza “Office Hours Schedule”

Minh Anh Nguyen

ming ang

Piazza

See Piazza “Office Hours Schedule”

Evaluation#

The grading scheme for this course is:

Item

Weight

Due date(s)

Category

Problems of the Week (POTWs)

20% (10 x 2%)

Sundays at noon

Homework

Labs

10% (10 x 1%)

Thursdays at noon

Homework

Programming Projects

15% (3 x 5%)

Three in the term

Homework

Tests (mini-exam)

30% (6 x 5%)

~ Bi-weekly

Exam

Final Exam

25%

TBD

Exam

Passing requirements#

  • Students must satisfy ALL conditions to pass the course:

    1. Pass the Lab component with a grade of at least 50%,

    2. Pass the Tests and Final Exam components (together) with a grade of at least 50%,

    3. Pass the Final Exam with a grade of at least 40%.

If a student does not satisfy these requirements, the student may be assigned the lower of their earned course grade or 45% in the course.

Late or Missed Assignments and/or Exams#

Late Policy#

Attention

Many assessments in the “Homework” category may be submitted after the original deadline for partial credit. The amount of partial credit and the corresponding deadlines can be found in PrairieLearn.

Assessments in the “Exam” category must be completed in the time window specified for that particular assessment.

Note

Please refer to the UBC Calendar for details on exam clashes, hardships, and cancellations.

What if I miss labs, tests, or the exam due to an illness, health, or other personal situations?#

Normally, most assessments in this course have multi-day window or a generous grace period, which should suffice to account for unexpected but short-term absences.

For longer term absences (a week or more), please contact the instructor to discuss options.

If ill health is an issue, students are encouraged to seek attention from a health professional. UBC’s Student Health and Wellbeing website has links to many different resources.

Tip

Don’t be shy or embarassed to use these health services, and if the first one doesn’t work for you, try another!

What should I do if I need accommodations to be successful in this course?#

Please see page-accommodations

Schedule#

This is the tentative plan for CPSC 203 this term. Things may change depending on many factors so this is subject to change.

Week

Week of

Topic

POTW

Lab

Test

1

Jan 6

Terminal, Markdown

POTW 1

-

-

2

Jan 13

Data Representation

POTW 2

Lab 1

-

3

Jan 20

Decomposition and Design

POTW 3

Lab 2

Test 1

4

Jan 27

Python Classes

POTW 4

Lab 3

Test 2

5

Feb 3

Pandas and Web Data

POTW 5

Lab 4

-

6

Feb 10

Git and Version Control

POTW 6

Lab 5

Test 3

7

Feb 17

Midterm Break

-

-

-

8

Feb 24

Data Structures

POTW 7

Lab 6

-

9

Mar 3

Graphs and Search

POTW 8

Lab 7

Test 4

10

Mar 10

Catch-up Week

-

Lab 8

-

11

Mar 17

Graphs and MHall

POTW 9

Lab 9

Test 5

12

Mar 24

State Spaces

POTW 10

Lab 10

-

13

Mar 31

Maps

POTW 11

Lab 11

Test 6

14

Apr 7

Review

-

-

-

Getting Help#

The best way to get personalized help in this course is to attend the “Student Hours” we have scheduled for this course. This is time that the instructor and TAs have set aside to help YOU personally, 1 on 1! I understand it might feel intimidating to come to Student Hours, but we don’t bite! We would love to hear about you, what your interests are, and if you have any career advice. If nobody comes to the Student Hours, we end up sitting all by ourselves, all alone, and sad.

A few other notes:

  • We will be using Piazza for Announcements in this course.

  • For all course-related questions you can reach out to the teaching team including instructors and TAs via Piazza.

  • You are encouraged to post questions publicly whenever possible so others can benefit; however, do not publicly post assessment solutions (even partial ones).

  • For issues which are not suitable for public posts, you can send

    • A private message to the instructional team on Piazza if you message does not contain personal information; for example, if you have a question about your solution code.

    • By email to the instructor if your message contains personal information; for example, your CfA letter or a request for concession.

  • Any student may visit the student hour for any member of the teaching team (TA or instructor)! In other words, you can go to the student hour of ANY TA, not just the one whose lab/tutorial you are registered in.

Syllabus vs. Unsyllabus#

Traditionally, there has been a culture at most higher education institutions for every course to have a document that sets expectation for how the course will be conducted, what students will be expected to do, and what they will learn in the course. The purpose of that document was for the instructor to communicate “what the course will be about” to students so they know what they’re getting themselves into. This document is typically called a “Syllabus” or a “Course Outline”. Over the years however, this document has morphed into something like a contract - a “terms of service” that students implicitly agree to by registering for the class.

This makes me somewhat uncomfortable as an educator - I don’t want to legislate how you learn and what you need to do to learn. I also don’t want there to be an unchangeable legal document governing the interactions between an instructor and a student. What I do want is to give you suggestions and guidelines supported by my personal experience as well as the latest literature on teaching and learning.

That being said, perhaps there are some advantages to having some elements of a course codified in a “legal document” - the “Syllabus”. For instance, the instructor for the course, the calendar course entry, the term dates, the final exam period, the passing criteria, how to file a grievance or complaint, and your responsibilities to uphold UBC’s commitment to equity, diversity, and inclusion. The items above are indeed permanent and unchanging, and deserve to be in the syllabus.

Other things, such as what you will learn, how and when you will do it are more flexible and fluid. For that, we have this unsyllabus.

What is the Unsyllabus?#

In contrast to the syllabus, the unsyllabus is not a legal document. Instead, it is a living document that serves students and adjusts to their needs and feedback. Dr. John Warmer describes this best in his article, “A syllabus is not a contract”:

… this [un]syllabus is not a contract, it is a living document which reflects the experiences, emotions, philosophies, and goals I bring to a particular course.

and also:

An [un]syllabus as a plan is a lot like an itinerary before a trip. There’s some definite highlights we need to hit, but if something that seems cool and worth doing crops up unexpectedly, we need to seize that opportunity in the moment. If something really bad happens (the equivalent of a norovirus breakout on a cruise ship) we may need to abandon something previously scheduled entirely.

Summary#

Having an adaptive syllabus is important to me as it allows me to be responsive to your feedback in a meaningful way. I invite you to be co-contributors to this unsyllabus, and use the tools provided to add your own annotations, questions, and suggestions on making this syllabus work for you. At various points in the term, I will invite you to provide feedback on how things are going in the class.

Document

Status

Syllabus

University-mandated, like a legal contract and contains university rules about conduct and behaviour; elements will not change.

Unsyllabus

Living document, responsive to student feedback and adaptable to circumstances; elements may change, usually to the benefit of students and of learning.

Important

Please note that I have your best interests in mind, and it is highly unlikely that I will ever change the unsyllabus in a way that negatively affects the class, or even individual students. If you believe a change is affecting you negatively, please reach out to me on Piazza.

Unsyllabus changes#

In this section, I will outline any changes that have been made to the unsyllabus as we go through the course. We will do our best to follow the plan outlined in this unsyllabus, but in case things go south, I will need to make adjustments to the contents and the schedule.

Any major changes to the syllabus (this page) will be documented here, as well as the date the change was made.

Change Date

Summary

Rationale

None yet made

How do I do well in this course?#

To prepare yourselves for this course, remember that:

  1. Learning is a contact sport.

  2. Memorizing is not learning.

  3. Understanding is learning, and understanding should be your goal (not grades).

  4. We’ll do lots of tests.

And some ingredients for your success:

  1. Plan.

  2. Prepare.

  3. Engage.

  4. Practice.

  5. Collaborate.

  6. Do not be fooled by familiarity of the material.

Important

These guidelines were adapted from Dr. Simon Bates’ Physics 117 course from UBCV.

… but I’ve never been good at computer science!#

That’s okay! You’re still more than welcome in this course. I will do everything I can (within reason) to still make the course accessible to you. This course is designed with your success in mind. There are multiple opportunities for you to learn from your mistakes and improve your grades in nearly every aspect of the course. In my opinion, the best learning happens when folks are given the opportunity to make mistakes so they get over their fear of trying new things!

To summarize, if you’ve never been “good” at computers, come into the course with a healthy attitude, a desire to work for your success, and I have no doubt you will be successful in this course. If you ever want to talk about the course, or have any feedback you want to give me, do not hesitate to reach out to me!

… but I don’t even like computers!#

Believe it or not, I have no expectation that every student that takes my course will have an undying passion for the subject. Some of you may be forced to take this course by your programs, faculties, career interests, etc… Sometimes we all have to take courses that we think we don’t like, or enjoy. That’s fine! No judgement from me, you are more than welcome in this course. I just ask that you not make any snap judgements about the class, the material, the instructor (me), or the teaching team. Whatever your motivations are for taking this course, give us a chance, maybe you don’t HAVE TO be miserable taking this course! You might even enjoy the feeling of community and camaraderie that develops over the course of the semester 🤞.

I hope you’re not miserable, if you do feel miserable, come talk to me - maybe I can help you see the light at the end of tunnel?

Course Tools#

Warning

I will be the first to acknowledge that my courses are usually heavily reliant on learning technologies. I strongly believe that learning technologies are essential (for me) to give you my students a good experience in the course. Many times during the course you may be frustrated why we need to use so many different tools, and why there isn’t one tool that does everything. At the moment, the reality is that many learning technologies often only do one thing very well. This of course means that other functionalities take a back-seat and exist merely to check a box on their marketing website (just so they can say they have the feature, even though it is a crappy implementation of that feature).

I hope you will be patient with all the tools used in this course, and I hope I can demonstrate value to you by using them in our course.

Required Tools#

In this course, we will be using the following required learning technologies (privacy policies linked):

Academic Integrity#

How do I go through this course with integrity?#

I want to be proud of your work in this course, and I want YOU to be proud of yourself as well! That cannot happen if you make unethical decisions, including (but not limited) to cheating or plagiarism. According to the scientific literature, the most common reasons students cheat are:

  • Fear of failure and life consequences.

  • Peer pressure, including the pressure to provide your answers when others ask for help.

  • Perceived societal acceptance of cheating (such as Lance Armstrong, Barry Bonds, Enron, Wall Street & The Big Short).

  • Desire for success without the time/desire to put in the work needed.

  • Strict deadlines and due-dates.

  • Requirement from instructors to memorize facts, figures, equations, etc…

  • High-stakes exams with no recompense for “having a bad day”.

  • Peers cheating with no consequences or penalties.

  • Unclear expectations on what constitutes academic dishonesty.

  • Inadequate support from instructor and teaching team.

However, taking short-cuts when learning leads to poor learning. I have tried extremely hard to make this course focused on learning rather than grading, and where grading is needed to have policies that are as student-friendly as possible. In particular, I hope (and expect) that the following features of the course should eliminate your temptation to cheat or plagiarize:

  • 48 hours grace-period on all due dates.

  • Long testing window so you can start the tests when you are comfortable.

  • No high-stakes exams (the single largest assessment item is the final exam).

  • Plenty of TA and instructor student hours and several outside of normal business hours.

  • Class website that outlines exactly what you should do when to help you manage your time.

  • Tonnes of supplemental materials including other instructional videos in case you want a different perspective.

  • Weekly prompt to accept the integrity pledge to keep you accountable.

  • A true willingness from the instructor (me) to help you learn and succeed in this course!

With these features, and several other little things, I sincerely hope that you will consider completing this course with maximum integrity so that you never have to feel guilty, ashamed, or disappointed in yourself and your actions!

A more detailed description of academic integrity, including the University’s policies and procedures, may be found in the UBC Academic Calendar.

What is considered academic dishonesty in this course?#

The line between what constitutes acceptable versus unacceptable behaviour can be blurry, but here is a list of things which are definitely considered academic dishonesty in CPSC 203:

  • Asking others to see their work (whether question by question, or all at once).

  • Sharing your work with others.

  • Doing tests collaboratively (tests must be done by yourself and alone).

  • Communicating test questions and/or answers to others. We all benefit from the scheduling flexibility that PrairieLearn provides, but that means even if you have completed a test you cannot talk about it because other students may not have taken it yet.

  • Sharing any course material onto Chegg, Course Hero, Slader, or other similar sites.

  • Searching for solutions to course material on Chegg, Course Hero, Slader, or other similar sites.

  • Blindly googling the question in hopes of finding someone who had a similar question and then copying their answer. However, googling to find resources to understand specific concepts or general ideas is highly encouraged!

  • Having a tutor/friend/nemesis complete and submit your work for you.

  • Copying and pasting code, equations, text explanations, prose, etc… without attribution.

  • Manipulating the learning platforms we use to reverse engineer the randomization algorithms, hacking the timer functionality, or other similar technical malfeasance.

Acknowledgements#

The syllabus was constructed and adapted from many other templates and examples. Below is the list of resources I have used to put this syllabus together:

Land Acknowledgement#

UBC’s Point Grey Campus is located on the traditional, ancestral, and unceded territory of the xwməθkwəy̓əm (Musqueam) people. The land it is situated on has always been a place of learning for the Musqueam people, who for millennia have passed on their culture, history, and traditions from one generation to the next on this site.

Aerial photo of the UBC campus showing the Martha Piper fountain, and mountains in the skyline.

References#