The idea for this project came during my undergraduate degree in computer science at St. Andrews University. Stacsnet is a web platform for CS students with three main features:
- View module content and lecture slides for previous years as well as the current year
- See class averages, variation, marking trends, and grade boundaries for different modules over the years and submit your own grade.
- Upload and share your own files (diagrams, lecture notes, exam scripts, etc ..)
- Ask questions on a particular module or topic (either anonymously or with a username) either directly to another lecturer or student, or posted publicly on a message board.
- Browse and contribute to previous conversation threads and reply to others posts with your own answers
St. Andrews already has a private intranet called studres, where lecturers may upload lecture slides, examples, and other resources need to complete coursework assignments. Studres is OK, but it definetely has its limitations. Only staff may upload on to studres , and its content is generally limited and incomplete. Studres is private, only accessible to matriculated St. Andrews computer science students. However, because studres and lecture slides are often inadequate, most students also use lecture notes made publicly available from other universities. I definetely had some some favorite universities when it came to alternate educational resources, and would of found a platform such as this very useful at the time.
When I first created stacsnet, around a year before writing this post, it was slightly different from the version that is available now. Originally, stacsnet contained many of the features listed above, in addition to containing a synced copy of all files posted on studres. When i depolyed this version, I was aksed to take it down, or at least remove the lecture content, due it being copywrighted material. I thought this was odd since it was mostly just a copy of other universities, but I took it down anyway.
Even though the current version of stacsnet does not contain copy over any studres content, I have implemented some authentication features to prevent public access to the site. In order to use most of the features stacsnet, you must create an account, and to do this you need to prove you have acceess to a valid @st-andrews.ac.uk email address. An email address under the st-andrews domain is given to each student when they matriculate. The authentication prevents the general public from being able to use the site, submit phony grades or post irrelevant questions and answers.
Its a bit of an understatement to say that St. Andrews didnt really put the student first, and marking of grades and exams was on occassion was blatantly absurd. I do recognise this to be a problem not just at St. Andrews but across almost all big univerities, and I hoped that ultimately multiple different universities would adopt their own version of this platform as a private intranet, and these networks could then be somehow linked together. Students across universities could collaborate with eachother and share resources, and see how each other are being marked and exactly what level of coursework and exams you could expect. I think not only would this improve student satisfaction but it would put pressure on the university teaching staff to deliver a better and more consistent educational service.
Whilst stacsnet was designed specifically for computer science students, it implements a framework that could easily be adapted for students studying other subjects or at other universities also. All the major features I have briefly described above, I have explored and developed signficantly in this demo site.
The screenshots below illustrate two of these features in further detail:
- Average grades for the module CS2002 in 2018, visualised as an interactive historgram. To preserve anynomity no data is displayed until at least 3 submissions have been made. When we hover over a part of the histogram, the individual marks of the exact grades that contribute to the mean score are displayed. Other statistical analysis metrics and measure of central tendency such as standard deviation and variance are also given.

- When posting a question, you can either start a new thread, or reply to a previous post. There is no limit to depth of replies originating from the original question, and subthreads can branch of at any point. The interface is designed to be easy to navigate, and my implementation of how posts are logically persisted in database storage is simple and easily maintained. The screenshot below shows how you can tag your post with identifiers such as a module code or other keywords, and this can be included with post meta data to allow easy searching and filtering of previous posts.


I wrote stacsnet mainly using the MVC framework for ASP.NET core (C#). I used SQLite and entity framework core with for the database, and theres a fair amount of javascript also with some Vue components and Ive open sourced it on my github page. I did deploy also the site for a while on a cheap linux vps. The built-in server for MVC is called Kestrel and can only listen on localhost so I also had to set up an nginx reverse proxy. Unfortunately, the university didnt like this idea and wouldnt allow me to promote it, so eventually I took the site down.