compsoc-edinburgh / betterinformatics

Welcome to Better Informatics. The student run website for students in the School of Informatics.
https://betterinformatics.com
Other
68 stars 94 forks source link
betterinformatics cc0

Better Informatics

Add files to one of these folders: start - inf1 - inf2 - inf3 - inf4 - masters

Guidelines for contributing

Philosophy

  1. Trust by default. No pull requests, no "approvals", just contribute!
    • Why? To reduce the barrier to entry and to make it so that you can feel like adding whatever you want to add.
  2. Maintain history.
    • Why? Over time we accumulate a lot of knowledge and resources. We shouldn't lose it.
    • History also tends to repeat itself (inf1a split into two courses, and merged back into one course)
    • Avoid deleting courses, just archive them. Sometimes these courses will come back!
  3. Share ownership.
    • Don't put things in your personal workspace, you won't be around forever!
  4. Every little helps.
    • Found a page that explained something really well? Add it here, and others will benefit too!

Systems

There are two main sources of Information on Better Informatics which are integral:

We have a third source, which is being phased out and gradually migrated to File Collection where suitable:

Other services we have at Better Informatics include:

Previously (pre-2020) the Better Informatics Jekyll page was hosted on Tardis, and offered some server-side code for automatic addition to Google Drive etc. After Tardis was temporarily shut down while it migrated to a new infrastructure, the Jekyll page has been hosted on GitHub Pages infrastructure with no moving parts (so you might see some code/text that mentions the previous infra -- feel free to update it!).

Design Philosophy

Change can be good, but it's really important not to alienate users. Students are lazy and if it's hard to find something, they might not bother to find it, especially if they don't know it exists.

An attempt is made to generally stick to the website design originally created in 2012.

How do you merge courses?

Sometimes two courses become one course. There's two things you can do.

Example 1: still keep the cards separate

In 2018/19, when Informatics 1: Functional Programming (INF1-FP) and Informatics 1: Computation and Logic (INF1-CL) merged to become Informatics 1: Introduction to Computation, we just kept them as separate sections in Better Informatics.

We did this because even though administratively (system-wise) the course was one course; the lecturers remained distinct, with separate lectures, labs and tutorials.

This is OK, because even newer students that never saw INF1-FP and INF1-CL still refer to each half of the course as FP and CL.

Example 2: actually merge the cards

In 2019/20, when Computer Architecture (CAR) and Computer Design (CD) merged to become Computer Architecture and Design (CARD), we chose to merge them into one section.

This is because these two courses were truly merged together to form a new course. (Well, at least qaisjp hopes this is the case.)

It's worth noting that in this case the lecturers from both courses are now running CARD, which is similar to how the lecturers shared the course in Example 1 (INF1A).

Unfortunately, the course content is hidden on Learn to those not taking the course. So qaisjp can't actually check if they are distinct.

Usually actually merging the cards together is the best option. The code doesn't get confused, and neither do users.

To actually merge two files into one, it's worth referring to this Git article: Stupid git tricks: Combining two files into one while preserving line history. This way history is maintained!