forked from markfloryan/pdr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
113 lines (113 loc) · 12.7 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<title>Program and Data Representation: Slides</title>
<style type="text/css">code{white-space: pre;}</style>
<link rel="stylesheet" href="../markdown.css" type="text/css" />
</head>
<body>
<h1 id="program-and-data-representation-slides">Program and Data Representation: Slides</h1>
<p><a href="../README.html">Go up to the main README file</a> (<a href="../README.md">md</a>)</p>
<p><a href="../uva/course-introduction.html#/">Course Introduction</a> <strong>(CS 2150 specific)</strong></p>
<ul>
<li>Source code: <a href="../uva/code/introduction/DataStructureComparison.java.html">DataStructureComparison.java</a> (<a href="../uva/code/introduction/DataStructureComparison.java">src</a>)</li>
</ul>
<p><a href="01-cpp.html#/">Slide set 1: C++</a></p>
<ul>
<li>Source code:
<ul>
<li>General source code: <a href="code/01-cpp/evenodd.cpp.html">evenodd.cpp</a> (<a href="code/01-cpp/evenodd.cpp">src</a>), <a href="code/01-cpp/pointers.cpp.html">pointers.cpp</a> (<a href="code/01-cpp/pointers.cpp">src</a>), <a href="code/01-cpp/swap.cpp.html">swap.cpp</a> (<a href="code/01-cpp/swap.cpp">src</a>), <a href="code/01-cpp/dynamic_allocation.cpp.html">dynamic_allocation.cpp</a> (<a href="code/01-cpp/dynamic_allocation.cpp">src</a>), <a href="code/01-cpp/delete.cpp.html">delete.cpp</a> (<a href="code/01-cpp/delete.cpp">src</a>), <a href="code/01-cpp/memory.cpp.html">memory.cpp</a> (<a href="code/01-cpp/memory.cpp">src</a>), <a href="code/01-cpp/swapref.cpp.html">swapref.cpp</a> (<a href="code/01-cpp/swapref.cpp">src</a>), <a href="code/01-cpp/cpptest.cpp.html">cpptest.cpp</a> (<a href="code/01-cpp/cpptest.cpp">src</a>)</li>
<li>IntCell code: <a href="code/01-cpp/IntCell.java.html">IntCell.java</a> (<a href="code/01-cpp/IntCell.java">src</a>), <a href="code/01-cpp/TestIntCell.cpp.html">TestIntCell.cpp</a> (<a href="code/01-cpp/TestIntCell.cpp">src</a>), <a href="code/01-cpp/IntCell.h.html">IntCell.h</a> (<a href="code/01-cpp/IntCell.h">src</a>), <a href="code/01-cpp/IntCell.cpp.html">IntCell.cpp</a> (<a href="code/01-cpp/IntCell.cpp">src</a>)</li>
<li>Rational code: <a href="code/01-cpp/Rational.java.html">Rational.java</a> (<a href="code/01-cpp/Rational.java">src</a>), <a href="code/01-cpp/Rational.h.html">Rational.h</a> (<a href="code/01-cpp/Rational.h">src</a>), <a href="code/01-cpp/Rational.cpp.html">Rational.cpp</a> (<a href="code/01-cpp/Rational.cpp">src</a>), <a href="code/01-cpp/TestRational.cpp.html">TestRational.cpp</a> (<a href="code/01-cpp/TestRational.cpp">src</a>)</li>
</ul></li>
</ul>
<p><a href="02-lists.html#/">Slide set 2: Lists</a></p>
<ul>
<li>Source code: <a href="code/02-lists/findMax.cpp.html">findMax.cpp</a> (<a href="code/02-lists/findMax.cpp">src</a>), <a href="code/02-lists/objectCell.h.html">objectCell.h</a> (<a href="code/02-lists/objectCell.h">src</a>), <a href="code/02-lists/objectCellMain.cpp.html">objectCellMain.cpp</a> (<a href="code/02-lists/objectCellMain.cpp">src</a>)</li>
</ul>
<p><a href="03-numbers.html#/">Slide set 3: Numbers</a></p>
<ul>
<li>Source code: <a href="code/03-numbers/float_to_hex.cpp.html">float_to_hex.cpp</a> (<a href="code/03-numbers/float_to_hex.cpp">src</a>), <a href="code/03-numbers/FloatTest.java.html">FloatTest.java</a> (<a href="code/03-numbers/FloatTest.java">src</a>)</li>
</ul>
<p><a href="04-arrays-bigoh.html#/">Slide set 4: Arrays & Big-Oh</a></p>
<ul>
<li>Source code: <a href="code/04-arrays-bigoh/cmdlineparams.cpp.html">cmdlineparams.cpp</a> (<a href="code/04-arrays-bigoh/cmdlineparams.cpp">src</a>)</li>
</ul>
<p><a href="05-trees.html#/">Slide set 5: Trees</a></p>
<ul>
<li>The trees diagrams were generated from the files described <a href="graphs/index.html">here</a></li>
<li>The tree animation site is <a href="http://www.qmatica.com/DataStructures/Trees/BST.html">here</a> (<a href="http://webdiis.unizar.es/asignaturas/EDA/AVLTree/avltree.html">mirror</a>)</li>
</ul>
<p><a href="06-hashes.html#/">Slide set 6: Hashes</a></p>
<ul>
<li>The hash table bucket signs as both a <a href="misc/hash-table-buckets.pdf">pdf</a> and an <a href="misc/hash-table-buckets.odt">odt</a></li>
</ul>
<p><a href="07-ibcm.html#/">Slide set 7: IBCM (machine language)</a></p>
<ul>
<li>The online simulator is <a href="http://www.cs.virginia.edu/~cs216/ibcm/">here</a> (with mirrors <a href="http://pegasus.cs.virginia.edu/ibcm/">1</a> and <a href="http://people.virginia.edu/~asb2t/ibcm/">2</a>)</li>
<li>Source code: <a href="../ibcm/summation.ibcm">summation.ibcm</a>, <a href="../ibcm/array-summation.ibcm">array-summation.ibcm</a></li>
<li><a href="../book/ibcm-chapter.pdf">IBCM book chapter</a> as the reading</li>
<li>There is a separate <a href="../ibcm/index.html">IBCM section</a> of this repository with more IBCM information, although that additional information will not be needed in this course</li>
</ul>
<p>Slide set 8: assembly language: in 32 bit and 64 bit flavors</p>
<ul>
<li>64 bit materials: <a href="08-assembly-64bit.html#/">64 bit assembly slides</a>
<ul>
<li>The x86 book chapters on <a href="../book/x86-64bit-asm-chapter.pdf">x86</a> and the <a href="../book/x86-64bit-ccc-chapter.pdf">C calling convention</a> as the reading
<ul>
<li>Another good reading document is the <a href="https://www.cs.cmu.edu/~fp/courses/15213-s07/misc/asm64-handout.pdf">x86-64 Machine-Level Programming document</a> from CMU, although they use the other assembly language format</li>
</ul></li>
<li>Source code
<ul>
<li>The generated assembly was generated using <code>make asm</code>, which uses gcc/g++; to generate it using clang/clang++, use the 'asmclang' target</li>
<li><a href="code/08-assembly-64bit/Makefile.html">Makefile</a> (<a href="code/08-assembly-64bit/Makefile">src</a>)</li>
<li>Absolute value example: <a href="code/08-assembly-64bit/test_abs.cpp.html">test_abs.cpp</a> (<a href="code/08-assembly-64bit/test_abs.cpp">src</a>), <a href="code/08-assembly-64bit/test_abs_c.c.html">test_abs_c.c</a> (<a href="code/08-assembly-64bit/test_abs_c.c">src</a>), <a href="code/08-assembly-64bit/test_abs.s.html">test_abs.s</a> (<a href="code/08-assembly-64bit/test_abs.s">src</a>), <a href="code/08-assembly-64bit/test_abs_c.s.html">test_abs_c.s</a> (<a href="code/08-assembly-64bit/test_abs_c.s">src</a>), <a href="code/08-assembly-64bit/test_abs-non-intel.s.html">test_abs-non-intel.s</a> (<a href="code/08-assembly-64bit/test_abs-non-intel.s">src</a>)</li>
<li>Fibonacci example: <a href="code/08-assembly-64bit/test_fib.cpp.html">test_fib.cpp</a> (<a href="code/08-assembly-64bit/test_fib.cpp">src</a>), <a href="code/08-assembly-64bit/test_fib.s.html">test_fib.s</a> (<a href="code/08-assembly-64bit/test_fib.s">src</a>)</li>
<li>Max example: <a href="code/08-assembly-64bit/test_max.cpp.html">test_max.cpp</a> (<a href="code/08-assembly-64bit/test_max.cpp">src</a>), <a href="code/08-assembly-64bit/test_max.s.html">test_max.s</a> (<a href="code/08-assembly-64bit/test_max.s">src</a>), <a href="code/08-assembly-64bit/test_max-O2.s.html">test_max-O2.s</a> (<a href="code/08-assembly-64bit/test_max-O2.s">src</a>), <a href="code/08-assembly-64bit/test_max-noextern.s.html">test_max-noextern.s</a> (<a href="code/08-assembly-64bit/test_max-noextern.s">src</a>)</li>
<li>String compare example: <a href="code/08-assembly-64bit/test_string_compare.cpp.html">test_string_compare.cpp</a> (<a href="code/08-assembly-64bit/test_string_compare.cpp">src</a>), <a href="code/08-assembly-64bit/test_string_compare.s.html">test_string_compare.s</a> (<a href="code/08-assembly-64bit/test_string_compare.s">src</a>)</li>
</ul></li>
<li>The tutorial for <a href="../labs/lab08/index.html">lab 8</a> (<a href="../labs/lab08/index.md">md</a>)</li>
<li>Tutorial 8 is nasm, which consists of two PDF book chapters that are contained in this repository: <a href="../book/x86-32bit-asm-chapter.pdf">x86 Assembly</a> and <a href="../book/x86-32bit-ccc-chapter.pdf">The x86 C Calling Convention</a>; the contain more examples of assembly code
<ul>
<li>You can skip a few of the sections (feel free to look at them if interested, but they are not needed): Floating Point Instructions, SIMD Parallelism, Saturated Arithmetic, and Graphics.</li>
</ul></li>
</ul></li>
<li><del>32 bit materials: <a href="08-assembly-32bit.html#/">32 bit assembly slides</a></del>
<ul>
<li><del>The x86 book chapters on <a href="../book/x86-32bit-asm-chapter.pdf">x86</a> and the <a href="../book/x86-32bit-ccc-chapter.pdf">C calling convention</a> as the reading</del></li>
<li><del>Source code</del>
<ul>
<li><del>The generated assembly was generated using <code>make asm</code>, which uses gcc/g++; to generate it using clang/clang++, use the 'asmclang' target</del></li>
<li><del><a href="code/08-assembly-32bit/Makefile.html">Makefile</a> (<a href="code/08-assembly-32bit/Makefile">src</a>)</del></li>
<li><del>Absolute value example: <a href="code/08-assembly-32bit/test_abs.cpp.html">test_abs.cpp</a> (<a href="code/08-assembly-32bit/test_abs.cpp">src</a>), <a href="code/08-assembly-32bit/test_abs_c.c.html">test_abs_c.c</a> (<a href="code/08-assembly-32bit/test_abs_c.c">src</a>), <a href="code/08-assembly-32bit/test_abs.s.html">test_abs.s</a> (<a href="code/08-assembly-32bit/test_abs.s">src</a>), <a href="code/08-assembly-32bit/test_abs_c.s.html">test_abs_c.s</a> (<a href="code/08-assembly-32bit/test_abs_c.s">src</a>), <a href="code/08-assembly-32bit/test_abs-non-intel.s.html">test_abs-non-intel.s</a> (<a href="code/08-assembly-32bit/test_abs-non-intel.s">src</a>)</del></li>
<li><del>Fibonacci example: <a href="code/08-assembly-32bit/test_fib.cpp.html">test_fib.cpp</a> (<a href="code/08-assembly-32bit/test_fib.cpp">src</a>), <a href="code/08-assembly-32bit/test_fib.s.html">test_fib.s</a> (<a href="code/08-assembly-32bit/test_fib.s">src</a>)</del></li>
<li><del>Max example: <a href="code/08-assembly-32bit/test_max.cpp.html">test_max.cpp</a> (<a href="code/08-assembly-32bit/test_max.cpp">src</a>), <a href="code/08-assembly-32bit/test_max.s.html">test_max.s</a> (<a href="code/08-assembly-32bit/test_max.s">src</a>), <a href="code/08-assembly-32bit/test_max-O2.s.html">test_max-O2.s</a> (<a href="code/08-assembly-32bit/test_max-O2.s">src</a>), <a href="code/08-assembly-32bit/test_max-noextern.s.html">test_max-noextern.s</a> (<a href="code/08-assembly-32bit/test_max-noextern.s">src</a>)</del></li>
<li><del>String compare example: <a href="code/08-assembly-32bit/test_string_compare.cpp.html">test_string_compare.cpp</a> (<a href="code/08-assembly-32bit/test_string_compare.cpp">src</a>), <a href="code/08-assembly-32bit/test_string_compare.s.html">test_string_compare.s</a> (<a href="code/08-assembly-32bit/test_string_compare.s">src</a>)</del></li>
</ul></li>
<li><del>The tutorial for <a href="../labs/lab08/index.html">lab 8</a> (<a href="../labs/lab08/index.md">md</a>)</del></li>
<li><del>Tutorial 8 is nasm, which consists of two PDF book chapters that are contained in this repository: <a href="../book/x86-32bit-asm-chapter.pdf">x86 Assembly</a> and <a href="../book/x86-32bit-ccc-chapter.pdf">The x86 C Calling Convention</a>; the contain more examples of assembly code</del>
<ul>
<li><del>You can skip a few of the sections (feel free to look at them if interested, but they are not needed): Floating Point Instructions, SIMD Parallelism, Saturated Arithmetic, and Graphics.</del></li>
</ul></li>
</ul></li>
</ul>
<p><a href="09-advanced-cpp.html#/">Slide set 9: Advanced C++</a></p>
<ul>
<li>Source code: <a href="code/09-advanced-cpp/name-contact.cpp.html">name-contact.cpp</a> (<a href="code/09-advanced-cpp/name-contact.cpp">src</a>)</li>
</ul>
<p><a href="10-heaps-huffman.html#/">Slide set 10: Heaps and Huffman coding</a></p>
<ul>
<li>Source code: <a href="code/10-heaps-huffman/binary_heap.cpp.html">binary_heap.cpp</a> (<a href="code/10-heaps-huffman/binary_heap.cpp">src</a>), <a href="code/10-heaps-huffman/binary_heap.h.html">binary_heap.h</a> (<a href="code/10-heaps-huffman/binary_heap.h">src</a>), <a href="code/10-heaps-huffman/heap-test.cpp.html">heap-test.cpp</a> (<a href="code/10-heaps-huffman/heap-test.cpp">src</a>)</li>
</ul>
<p><a href="11-graphs.html#/">Slide set 11: Graphs</a></p>
<p><a href="12-memory.html#/">Slide set 12: Memory</a></p>
<ul>
<li>Source code: <a href="code/12-memory/cache.cpp.html">cache.cpp</a> (<a href="code/12-memory/cache.cpp">src</a>), <a href="code/12-memory/strings.c.html">strings.c</a> (<a href="code/12-memory/strings.c">src</a>)</li>
</ul>
<p><a href="13-esoteric-pls.html#/">Slide set 13: Esoteric Programming Languages</a></p>
<p><a href="../uva/course-conclusion.html#/">Course Conclusion</a> <strong>(CS 2150 specific)</strong></p>
</body>
</html>