···11{0 Lecture 1: Introduction to Programming}
2233+@x-ocaml.universe /_opam
44+@x-ocaml.worker /_opam/worker.js
55+36{1 Basic Concepts in Computer Science}
47{ul {- Computers: a child can use them; {b nobody} can fully understand them!
58}{- We can master complexity through levels of abstraction.
+3
site/notebooks/foundations/foundations10.mld
···11{0 Lecture 10: Queues and Search Strategies}
2233+@x-ocaml.universe /_opam
44+@x-ocaml.worker /_opam/worker.js
55+36{@ocaml hidden[
47type 'a tree = Lf | Br of 'a * 'a tree * 'a tree
58]}
+3
site/notebooks/foundations/foundations11.mld
···11{0 Lecture 11: Elements of Procedural Programming}
2233+@x-ocaml.universe /_opam
44+@x-ocaml.worker /_opam/worker.js
55+36{1 Procedural Programming}
47{ul {- Procedural programs can change the machine state.
58}{- They can interact with its environment
+3
site/notebooks/foundations/foundations2.mld
···11{0 Lecture 2: Recursion and Efficiency}
2233+@x-ocaml.universe /_opam
44+@x-ocaml.worker /_opam/worker.js
55+36{1 Expression Evaluation}
4758Expression evaluation concerns expressions and the values they return. This
···11{0 Lecture 4: More on Lists}
2233+@x-ocaml.universe /_opam
44+@x-ocaml.worker /_opam/worker.js
55+36{1 List Utilities: take and drop}
4758This lecture examines more list utilities, illustrating more patterns of
+3
site/notebooks/foundations/foundations5.mld
···11{0 Lecture 5: Sorting}
2233+@x-ocaml.universe /_opam
44+@x-ocaml.worker /_opam/worker.js
55+36A few applications for sorting and arranging items into order are:
47{ul {- search
58}{- merging
···11{0 Lecture 7: Dictionaries and Functional Arrays}
2233+@x-ocaml.universe /_opam
44+@x-ocaml.worker /_opam/worker.js
55+36{1 Dictionaries}
47{ul {- lookup: find an item in the dictionary
58}{- update (insert): replace (store) an item in the dictionary
+3
site/notebooks/foundations/foundations8.mld
···11{0 Lecture 8: Functions as Values}
2233+@x-ocaml.universe /_opam
44+@x-ocaml.worker /_opam/worker.js
55+36In OCaml, functions can be
47{ul {- passed as arguments to other functions,
58}{- returned as results,
+3
site/notebooks/foundations/foundations9.mld
···11{0 Lecture 9: Sequences, or Lazy Lists}
2233+@x-ocaml.universe /_opam
44+@x-ocaml.worker /_opam/worker.js
55+36{1 A Pipeline}
4758{math