Skip to content

Instantly share code, notes, and snippets.

View ruimaranhao's full-sized avatar

Rui Maranhao ruimaranhao

View GitHub Profile
@ruimaranhao
ruimaranhao / SoftEng.md
Last active March 27, 2022 19:50
Using Github to Teach Software Engineering: A Hands-on Approach

Teaching Software Engineering using GitHub

Rui Maranhão

Software engineering is the study and an application of engineering to the software development lifecycle, including requirements, design, architecture, development, testing, and maintenance. It is important that Universities teach students not only the theory underlying these phases, but also allow students to practice using real systems.

Quoting Arie van Deursen:

When teaching software engineering [architecture] it is hard to strike the right balance between practice (learning how to work with real systems and painful trade offs) and theory (general solutions that any architect needs to thoroughly understand).

To address this, inspired by TUDelft's Software Architecture course, we decided try something different in the Software Engineering course of the University of Porto's [Master in

@ruimaranhao
ruimaranhao / crazy_simple_sorting.py
Created May 9, 2022 00:23
Crazy simple sorting
# Described in As found in https://arxiv.org/pdf/2110.01111.pdf.
import random
def generate_random_list(size, min_value=0, max_value=10):
return random.sample(range(min_value, max_value), size)
def simple_sort(lst):
for i in range(len(lst)):
for j in range(len(lst)):
if lst[i] < lst[j]: