CS115 Fall 2015

Let me wish you a warm welcome to my official personal page for CS115. Here you can find relevant information to the course content that can help you to develop the necessary skills for this course.

For course evaluation, please use the following link.

Racket Code used in my lectures:

You can either download all from this page, or find the following code on my GitHub repo.

Module 3:

Bonus

Cat start or end? without helper functions

Cat start or end? with helper functions

Cat start or end? with tests and helper functions

General Equality Function

Interest Rate Explanation

Interest Rate Documentation

Interest Rate Function v.1 (without else)

Interest Rate Function v.2 (with else)


Module 4:

Card Function

Correct Performer Function

Distance Function

Scale Function

Mminfo-artist Function

 

Module 5:

f(n)_function

count-apples Function

counting Function

negate-list Function

remove-all Function

singles Function

Structures containing lists: big-tips

Non-empty lists: max-list

List: Template & data definition

 

Module 6:

Great common divisor: Solution 1, Solution 2

Prefixes from string

Insertion Sort: sort function

Dictionaries:

Lookup function

Table function - v1, Table function - v2

Module 7:

Case I: my-append function

Case II: total-value function, Additional Exercise

Case III: merge function

Consuming a list and a number: nth-occur-suffix function

Midpoints of pairs of posns: midpoint function

 

Module 8:

Evaluate binary expression tree: eval-function

Tree traversal: Preorder, Inorder, Postorder

Additional exercise: Numocc function

Adding 1 to every key of an given BST (increment)

Searching a BST (search-bst)

Adding new node into a BST (add-bst)

Additional exercise: tree->list

Lecture handout

BT: Template & data definitions

BAExp: Template & data definition

BST: Template & data definition

 

Module 9:

General arithmetic expressions:

Function remainder-n

Mutual Recursion:

odd-even (Additional Exercise)

F&M (Additional Exercise)

Alternate data definition for trees:

Operations on Trees

Additional Exercises for this module:

Exercise #1, Exercises #2, Exercises #3

Lecture handout

General Arithemetic expression: Template & data definition

LLT: Template & data definition

Lecture handout (Nested Lists)

 

Module 10:

Lecture handout (filter & map)

Lecture handout (foldr)

Lecture handout (local)

Additional Exercises for this module:

Function double

Using abstract list functions with a list of structures: best-grade

 

Is anyone using Racket commercially?

Yes, several companies are using Racket commercially. One significant example is Untyped, which built their scheduling/workflow tracker system Kahu in Racket.

Also, racket can be used in building web applications, and much more.

 

For additional practise exercises, please use the following

Course feedback form:

The feedback form is not active anymore. Thank you so much for all your feedbacks and comments during the term.