Skip to content

yuanw10/binary-heaps-in-c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lab8 - Systems Programming

This repository, along with two others, contains the code I wrote for the labs of Systems Programming (Winter 2022) at Dal, imported from Dal GitLab.

A Little Story

As a second-year course, this course is notorious among CS students at Dal and is regarded as one of the most challenging courses. In the semester prior to my enrollment, the average grade for this course was an F. Even in the semester I took it, about half of the students dropped out. Almost everyone I know in CS has dropped it at least once, typically taking 2-3 attempts to complete this required course.

However, I was able to achieve an A+ in this course, with 💯 in all the labs.

One of the main reasons why this course is so hard is its lab component 😈

Each week, we were required to write code in C based on the instructions provided by the lead TA. We had to learn everything on our own and complete the code according to the given requirements. The assessment was based on CI/CD pipelines that automatically checked if the output results and expected values matched. To receive a full grade, all jobs in the pipelines had to pass, and any failure would result in a grade of 0. Some tests had thousands of expected values that needed to be matched, and even if 99.99% matched, it would still be graded as 0, with no partial grading. The labs accounted for 45% of the total course grade, with a total of 10 labs.

Why the Repo

Even though all my friends hate this course (and our lead TA), I love it. It has made me a better programmer than I was. I chose to import this repository from Dal GitLab and store it here because I might not have access to Dal GitLab after graduation. However, I wanted to commemorate this meaningful experience. Looking back in a few years and seeing the code I wrote as a young and inexperienced programmer, along with the tough yet enjoyable learning process I went through, will surely be fascinating.

File Structure

The repository represents a weekly lab.

  • CI/: Folder containing the pipeline scripts and test cases used for evaluation
  • Lab8/: My implementation of the lab assignment in C
  • .gitlab-ci.yml: CI/CD pipeline for assessments using automated build and test
  • Instruction.md: Detailed instruction provided by the lead TA

Code/files written by me in this lab: Lab8/

About

Memorable coding experience. Imported from Dal GitLab

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published