Skip to content

Instantly share code, notes, and snippets.

View mepcotterell's full-sized avatar
💭
I may be slow to respond.

Michael Cotterell mepcotterell

💭
I may be slow to respond.
View GitHub Profile
@pgbovine
pgbovine / cer.md
Created June 23, 2016 22:44 — forked from amyjko/cer.md

Computing education research (CER) is the study of how people learn computing and the invention of better ways to teach computing. This FAQ will teach you more more about the field and how you might contribute to it.

What is computing education research?

First, CER is not teaching. Teaching is helping people acquire knowledge, skills, attitudes and beliefs. Research is discovering truth and inventing solutions. Teachers teach computing, whereas computing education researchers discover what is true about the teaching and learning of computing, and invent new techniques for teaching and assessing it (some pedagogical, some computational).

It's also important to note that I construe "computing" broadly: it's not just about programming, or even just about computer science, but also about all of the phenomena surrounding computing (including privacy, security, information ethics, software engineering, etc.). This means that computing education and computing education research can and do cover far more t

@amyjko
amyjko / cer.md
Last active December 16, 2020 19:14
@mepcotterell
mepcotterell / LICENSE
Last active August 19, 2023 16:44
Simple Python Plugin Manager
The MIT License (MIT)
Copyright (c) 2013 Michael E. Cotterell
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
case class MyNum (val d: Double) extends Numeric [MyNum]
{
def fromInt (n: Int) = MyNum (n)
def + (rhs: MyNum) = plus(this, rhs)
def plus (x: MyNum, y: MyNum): MyNum = MyNum (x.d + y.d)
def minus (x: MyNum, y: MyNum): MyNum = MyNum (x.d - y.d)
def times (x: MyNum, y: MyNum): MyNum = MyNum (x.d * y.d)
def negate (x: MyNum): MyNum = MyNum (-x.d)
def toInt (x: MyNum): Int = x.d.toInt
def toLong (x: MyNum): Long = x.d.toLong
@mepcotterell
mepcotterell / DSL.scala
Created March 2, 2011 14:08
Here's a small example of how to extends types by giving them more operations in Scala.
object DSL {
implicit def MkDSLRichAnyOps[T](elem: T) =
new DSLRichAny(elem)
}