241 lines
5.5 KiB
HTML
241 lines
5.5 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||
|
"http://www.w3.org/TR/html4/strict.dtd">
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>CSc 22000: Algorithms</title>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||
|
<link rel="stylesheet" href="../class.css" type="text/css">
|
||
|
</head>
|
||
|
|
||
|
<body>
|
||
|
<table border=0 cellpadding=0 width="100%">
|
||
|
<tr>
|
||
|
<td align=center valign=center width="20%">
|
||
|
<img src="../logo-ccny.png">
|
||
|
</td>
|
||
|
<td align=center valign=top>
|
||
|
<h1 class="head">Fundamental Algorithms</h1>
|
||
|
<h2 class="title">CSc I0600–Fall 2021</h2>
|
||
|
</td>
|
||
|
<td align=center valign=center width="20%">
|
||
|
<font color=red size="-1">
|
||
|
<a href="http://www.ccny.cuny.edu">The City College of CUNY</a><br>
|
||
|
<a href="http://www-cs.ccny.cuny.edu/">Department of Computer Science</a>
|
||
|
</font>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p>
|
||
|
<b>Instructor</b>:
|
||
|
<a href="http://www-cs.ccny.cuny.edu/~fazio/">Prof. Nelly Fazio</a><br>
|
||
|
|
||
|
<b>Lectures</b>: Wednesday, 4:50pm–7:20pm, Online<br>
|
||
|
|
||
|
<b>Office hours</b>: Thursdays, 11:00am–12:00pm (and by
|
||
|
appointment), Online<br>
|
||
|
<b> Email</b>: fazio AT cs DOT ccny DOT cuny DOT edu
|
||
|
[<i>Put <font color=red>CScI0600</font> in Subject line</i>]
|
||
|
|
||
|
<hr>
|
||
|
|
||
|
<p class="centered">
|
||
|
[ <a href="#description">Course Description</a> |
|
||
|
<a href="#topics">List of Topics</a> |
|
||
|
<a href="#textbook">Textbook</a> |
|
||
|
<a href="#grading">Work Load & Grading</a> |
|
||
|
<a href="#integrity">CUNY Academic Integrity Policy</a> |
|
||
|
<a href="#assignments">Assignments</a> |
|
||
|
<a href="#schedule">Weekly Schedule</a> ]
|
||
|
|
||
|
</p>
|
||
|
|
||
|
<hr>
|
||
|
|
||
|
<h2 class="subtitle bar"><a name="description"></a>Course Description</h2>
|
||
|
|
||
|
From the course catalog: An intensive study of advanced non-numerical
|
||
|
programming techniques. Data representation; list, tree and string
|
||
|
manipulation algorithms. Recursive programming. Introduction to
|
||
|
searching and sorting. Storage management algorithms. Comparative
|
||
|
efficiency of algorithms.
|
||
|
|
||
|
<p>
|
||
|
Prerequisites: CSc 220.
|
||
|
|
||
|
<h2 class="subtitle bar"><a name="textbook"></a>Textbook</h2>
|
||
|
Required:
|
||
|
<ul>
|
||
|
<li> <b> Introduction to Algorithms. 3rd Edition</b><br>
|
||
|
T. Cormen, C. Leiserson, R. Rivest, C. Stein, 2009.<br>
|
||
|
ISBN-10: 0262033844 <br>
|
||
|
ISBN-13: 978-0262033848
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
<h2 class="subtitle bar"><a name="grading"></a>Work Load & Grading</h2>
|
||
|
|
||
|
<ul>
|
||
|
<li><b>Work load</b><br>
|
||
|
2.5 hrs/week: Class attendance <br>
|
||
|
2.5 hrs/week: Readings<br>
|
||
|
5.0 hrs/week: Assignments
|
||
|
|
||
|
<li><b>Grading</b><br>
|
||
|
10%: Class participation <br>
|
||
|
20%: Quizzes <br>
|
||
|
30%: Midterm (Nov 3)<br>
|
||
|
40%: Final (Dec 15)
|
||
|
</ul>
|
||
|
|
||
|
<b>NOTE:</b> There will be NO make-up or substitute exams</b>
|
||
|
|
||
|
</center>
|
||
|
|
||
|
<h2 class="subtitle bar"><a name="integrity"></a>CUNY Academic Integrity
|
||
|
Policy</h2>
|
||
|
|
||
|
Cheating will not be tolerated. If you cheat, you risk losing your
|
||
|
position as a student in the department and the college. CUNY policy
|
||
|
on academic integrity can be found <a href="https://www.cuny.edu/about/administration/offices/legal-affairs/policies-procedures/academic-integrity-policy">here</a>.
|
||
|
Failure to understand and follow these rules will constitute cheating,
|
||
|
and will be dealt with as per university guidelines.
|
||
|
|
||
|
<h2 class="subtitle bar"><a name="assignments"></a>Assignments</h2>
|
||
|
Posted on blackboard.
|
||
|
|
||
|
<h2 class="subtitle bar"><a name="schedule"></a>Weekly Schedule <font color=red>(tentative)</font></h2>
|
||
|
|
||
|
<div align=center>
|
||
|
<table border=2 cellpadding=2>
|
||
|
|
||
|
<tr>
|
||
|
<td><b>Lecture</b></td>
|
||
|
<td><b>Topic</b></td>
|
||
|
<td><b>Readings</b></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td><b>1</b></td>
|
||
|
<td>Overview. Growth of functions. Asymptotic
|
||
|
notation. InsertionSort.<br>
|
||
|
Divide-and-Conquer. Examples. MergeSort.</td>
|
||
|
<td>CLRS 1–3 <br>
|
||
|
Review CLRS 10, 11, 12</font>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td><b>2</b></td>
|
||
|
<td> Solving recurrence: Recursion-tree method. Examples.<br>
|
||
|
More on Divide-and-Conquer: Maximum Subarray. Matrix multiplication.</td>
|
||
|
<td>CLRS 4.1–4.2, 4.4. <br>
|
||
|
Review Appendix A</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td><b>3</b></td>
|
||
|
<td> Solving recurrences: Substitution method. Examples. <br>
|
||
|
Solving recurrences: Master method. Examples.</td>
|
||
|
<td>CLRS 4.3, 4.5</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td><b>4</b></td>
|
||
|
<td>Sorting Algorithms: Heapsort.</td>
|
||
|
<td>CLRS 6</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td><b>5</b></td>
|
||
|
<td>Sorting Algorithms: Quicksort.</td>
|
||
|
<td>CLRS 7</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td><b>6</b></td>
|
||
|
<td>More on sorting: Lower bound and beyond.<br>
|
||
|
</td>
|
||
|
<td>CLRS 8</td>
|
||
|
</tr>
|
||
|
|
||
|
<!--<tr>
|
||
|
<td><b>7</b></td>
|
||
|
<td>Balanced Search Trees: Red-Black Trees.</td>
|
||
|
<td>CLRS 13<br>Review CLRS 12</td>
|
||
|
</tr>
|
||
|
-->
|
||
|
|
||
|
<tr>
|
||
|
<td><b>7</b></td>
|
||
|
<td>Balanced Search Trees: B-Trees.</td>
|
||
|
<td>CLRS 18</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td><b>8</b></td>
|
||
|
<td>Dynamic Programming (I). Example: Rod Cutting.
|
||
|
</td>
|
||
|
<td>CLRS 15</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td><b>9</b></td>
|
||
|
<td>Dynamic Programming (II). Example: Longest Common Subsequence.</td>
|
||
|
<td>CLRS 15</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td><b>10</b></td>
|
||
|
<td>
|
||
|
<font color=red>Midterm Exam. (Nov. 3)<font>
|
||
|
</font>
|
||
|
</td>
|
||
|
<td> </td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
<td><b>11</b></td>
|
||
|
<td>Greedy Algorithms. Huffman Codes.</td>
|
||
|
<td>CLRS 16</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td><b>12</b></td>
|
||
|
<td>Graphs. BFS and DFS.
|
||
|
Topological Sort. SCC.</td>
|
||
|
<td>CLRS 22</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td><b>13</b></td>
|
||
|
<td>Minimum Spanning Trees.</td>
|
||
|
<td>CLRS 23</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
<td><b>14</b></td>
|
||
|
<td>Shortest Paths: Bellman-Ford algorithm. <br>
|
||
|
Single-Source Shortest Paths for DAGs + Dijkstra.<br>
|
||
|
All-Pairs Shortest Paths: Floyd-Warshall.</td>
|
||
|
<td>CLRS 24, 25</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td></td>
|
||
|
<td><font color=red>Final Exam, Dec 15, 2021, 5:00-7:20pm</font></td>
|
||
|
<td></td>
|
||
|
</tr>
|
||
|
|
||
|
</table>
|
||
|
</div>
|
||
|
|
||
|
<hr>
|
||
|
<p>
|
||
|
Copyright © <a href="">Nelly Fazio</a>
|
||
|
|
||
|
</body>
|
||
|
</html>
|