Skip to content

Instantly share code, notes, and snippets.

View kenpu's full-sized avatar

Ken Pu kenpu

View GitHub Profile
@kenpu
kenpu / task2-1.clj
Last active November 16, 2018 21:45
List new courses created *after* and including 2016
(require '[clojure.java.io :as io])
(require 'clojure.set)
(defn lines []
(let [rdr (io/reader "2017-10-15.txt")]
(line-seq rdr)))
(defn parse-line [line]
(let [parts (clojure.string/split line #";")
[semester title crn
@kenpu
kenpu / task2-1.clj
Created November 16, 2018 21:40
List new courses created *after* and including 2016
(require '[clojure.java.io :as io])
(require 'clojure.set)
(defn lines []
(let [rdr (io/reader "2017-10-15.txt")]
(line-seq rdr)))
(defn parse-line [line]
(let [parts (clojure.string/split line #";")
[semester title crn
@kenpu
kenpu / task1.clj
Created November 16, 2018 21:14
Clojure code for printing course name and title
(require '[clojure.java.io :as io])
(defn lines []
(let [rdr (io/reader "2017-10-15.txt")
pattern #"^201709.*CSCI.*"]
(filter #(re-matches pattern %) (line-seq rdr))))
(defn sort-unique [courses]
(sort (into #{} courses)))
(require '[clojure.pprint :refer [pprint]])
(def course {:tests {"quiz 1" {:total 10
:weight 0.1
:num-questions 3}
"quiz 2" {:total 5
:weight 0.1
:num-questions 2}
"test 1" {:total 100
:weight 0.4
@kenpu
kenpu / parallel-findprimes.go
Created October 4, 2018 03:41
A cancellable pipeline for finding the prime numbers
// concurrent version of finding primes
package main
import (
"flag"
"fmt"
"os"
"os/signal"
"sync"
@kenpu
kenpu / solution-t2.clj
Created November 23, 2017 20:26
Solution to CSCI 3055U Test 2 (2017)
(require '[clojure.pprint :as pprint])
;; Q1.
;; =========================================
(def table
[{
:product "Pencil"
:city "Toronto"
:year 2010
:sales 2653.00
[:section
[:h1 "Mathematical Expressions"]
[:p "We will be doing
machine learning."]
[M "
I don't know how to write this
- Create a simple equation
- Write a loop
- Compile
@kenpu
kenpu / Makefile
Created September 26, 2016 14:12
CSCI 3070U tutorial on Makefile
.PHONY: all big wide clean
all: big wide
big: big.txt sort-strings.py
python sort-strings.py big.txt
big.txt: make-strings.py
python make-strings.py 100000 100 big.txt
@kenpu
kenpu / merge.py
Last active August 27, 2016 20:04
import random
def merge(list1, list2):
i, j = 0, 0
list3 = []
while i < len(list1) and j < len(list2):
if list1[i] <= list2[j]:
list3.append(list1[i])
i += 1
@kenpu
kenpu / qsort.js
Last active August 11, 2016 17:24
Quicksort
function quicksort(X, i, j) {
if(i < j) {
p = partition(X, i, j)
quicksort(X, i, p-1)
quicksort(X, p+1, j)
}
}
function partition(X, i, j) {
var pivot = X[j];