CS 1101 Computer Science I
Spring 2016

Computer Science Department
The Morrissey College of Arts and Sciences
Boston College

About Staff Textbook Grading Schedule Resources
Notes Labs Piazza Canvas GitHub Problem Sets
Manual StdLib Pervasives UniLib OCaml.org

WEEK
TOPIC
CSCI 1101 Computer Science I, Section 03
1:
1/19
1/21
Overview, administration, OCaml setup and introduction.
Types, literals, operators and expressions. Simplification, and values. Functions, libraries, function calls, function definitions.
01.1.introduction.pdf, areaVolume.ml.
2:
1/26
1/28
More on function definitions and calls, variables and the simplification/substitution model of computation. let-bound variables, binding patterns, type notation.
Graphical programming with the "World" system,
Pattern matching, match expressions and branching, repetition.
min3isFactorcloseEnough.ml worlddemo.zip
3:
2/2
2/4
More on repetition, primality, tessellation,

A bisection algorithm for square roots.
03.1.repetition.zip, 03.2.repetition.zip
4:
2/9
2/11
Lists and tuples, appending, reversal, work/complexity.

More on lists, linear search, association lists. Insert, split, partition and merge.
lists.ml, 04.1.listsAndTuples.zip, dictionary.ml
5:
2/16
2/18
Sorting: insertion sort, mergesort, quicksort.

Animation, a greedy algorithm for making change.
05.1.sorting.zip, 05.2.animation.zip.
6:
2/23
2/25
More work with lists and tuples, positional addition.

Functions are values: map, filter and fold.
sublists.ml, positionalAdd.ml, 06.2.sublistsPositionalAdd.zip.
7:
3/1
3/3
First Exam.

Sam Baxter on type definitions, record and sum types, option types.
First Midterm Exam Key, Guest Sam Baxter on type definitions.
3/8
3/10
Spring Break
8:
3/15
3/17
Storage Architecure and the Storage Model of Evaluation/Execution.

Numeral systems.
08.1.storage.zip, 08.2.numeralSystems.zip.
9:
3/22
3/24
The von Neumann Architecture and the Simple Virtual Machine (SVM).

No class.
09.1.vonNeumannMachineSVM.zip.
10:
3/29
3/31
More on SVM, machine code and assembley code.

Imperative (machine-centric) programming in OCaml.
10.1.svmCoding.zip, 10.2.imperative.zip.
11:
4/5
4/7
Implementing Array.mem and List.mem in OCaml and SVM.

Search Algorithms, backtracking, string matching.
11.1.arrayMemAndListMem.zip, 11.2.searchAlgorithms.zip.
12:
4/12
4/14
More on string matching, Review.
Second Exam.
12.1.stringsAndReview.zip, secondKeyS16.pdf.
13:
4/19
4/21
Markov models of text.
13.txt 13.zip
14:
4/26
4/28
Defining new types in OCaml and Java.
PointADT.zip
15:
5/3
5/5
Defining new types in OCaml and Java.
Review and wrapup.
15.txt 15.zip
Created on 01-19-2016 23:09.