{"id":75,"date":"2015-04-30T23:59:58","date_gmt":"2015-05-01T04:59:58","guid":{"rendered":"https:\/\/www.jsums.edu\/nmeghanathan\/?page_id=75"},"modified":"2015-05-01T02:19:26","modified_gmt":"2015-05-01T07:19:26","slug":"csc-323-algorithm-design-and-analysis-spring-2015","status":"publish","type":"page","link":"https:\/\/www.jsums.edu\/nmeghanathan\/csc-323-algorithm-design-and-analysis-spring-2015\/","title":{"rendered":"CSC 323 Algorithm Design and Analysis, Spring 2015"},"content":{"rendered":"<h4>\n\tInstructor: Dr. Natarajan Meghanathan<br \/>\n<\/h4>\n<p>\n\t&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n\t<a href=\"#Syllabus\">Syllabus<\/a><br \/>\n\t<a href=\"#LectureSlides\">Lecture Slides<\/a><br \/>\n\t<a href=\"#ProjDesc\">Project Descriptions<\/a><br \/>\n\t<a href=\"#DrMegSampleVideos\">Dr. Meg&#039;s Desktop Selected Lecture Videos<\/a><br \/>\n\t<a href=\"#TestSchedules\">Quiz, Exam and Project Schedules<\/a><br \/>\n\t&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;\n<\/p>\n<h3>\n\t<a name=\"Syllabus\">Syllabus<\/a><br \/>\n<\/h3>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Syllabus-Spring-2015.pdf\" target=\"_blank\">CSC 323 Syllabus, Spring 2015<\/a>\n<\/p>\n<h3>\n\t<a name=\"LectureSlides\">Lecture Slides<\/a><br \/>\n<\/h3>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Module-1-Algorithm-Efficiency.pdf\" target=\"_blank\">Module 1: Algorithm Efficiency Analysis<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Module-2-Classical-Design-Techniques.pdf\" target=\"_blank\">Module 2: Classical Design Techniques<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Module-3-Greedy-Strategy.pdf\" target=\"_blank\">Module 3: Greedy Strategy<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Module-4-DynamicProgramming.pdf\" target=\"_blank\">Module 4: Dynamic Programming<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Module-5-GraphAlgorithms.pdf\" target=\"_blank\">Module 5: Graph Theory Algorithms<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Module-6-P-NP-NP-CompleteProblems-ApproxAlgorithms.pdf\" target=\"_blank\">Module 6: NP Complete Problems and Approximation Heuristics<\/a>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<h3>\n\t<a name=\"ProjDesc\">Project Descriptions<\/a><br \/>\n<\/h3>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Project-1-Element-Uniqueness-Problem.pdf\" target=\"_blank\">Project 1: Element Uniqueness Problem<\/a>, Due: Feb. 12\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Project-2-Recursive-NonRecursive-LargestInteger-Problem.pdf\" target=\"_blank\">Project 2: Comparing the Performance of a Recursive vs. a Non-Recursive Algorithm to Determine the Index of the Element with the Largest Value in an Array<\/a>, Due: Feb. 19\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Project-3-MatrixMultiplication.pdf\" target=\"_blank\">Project 3: Computing the Number of Paths of a Certain Length in a Graph using Matrix Multiplication<\/a>, Due: March 5\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Project-4-CommonElementsArrays-HashTables.pdf\" target=\"_blank\">Project 4: Determining the Common Elements across All Arrays using Hash Tables and Java Collection Classes<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.youtube.com\/watch?v=aiZHl18TXqE\" target=\"_blank\">Video Explanation: Vector Example<\/a>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<a href=\"https:\/\/www.youtube.com\/watch?v=sGrHlTsTmxY\" target=\"_blank\">Video Explanation: TreeMap Example<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Project-5-CoinSelectionProblem.pdf\" target=\"_blank\">Project 5: Coin Collection Problem using Dynamic Programming<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Project-6-TheoremProvingProject-1.pdf\" target=\"_blank\">Project 6: Theorem Proving Project: Bloom Filters, Breadth First Search and Asymptotic Complexity<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Project-7-TheoremProvingProject-2.pdf\" target=\"_blank\">Project 7: Theorem Proving Project: Topological Sort (DAG), Dijkstra Algorithm and Bellman-Ford Algorithm<\/a>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<h3>\n\t<font color=\"red\"><a name=\"DrMegSampleVideos\">Dr. Meg&#039;s Desktop Selected Lecture Videos (YouTube Links)<\/a><\/font><br \/>\n<\/h3>\n<h4>\n\t<u><font color=\"green\">Module 1 (Chapter 2): Analyzing the Efficiency of Algorithms<\/font><\/u><br \/>\n<\/h4>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=R90n-Efqtdk\" target=\"_blank\">Time-Complexity analysis of a recursive algorithm to compute the factorial of an integer<\/a>&nbsp;&nbsp;&nbsp;&nbsp;\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=u-I-qixs8oY\" target=\"_blank\">Example for solving recurrence relations<\/a>&nbsp;&nbsp;&nbsp;&nbsp;\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=w2bHW3qTXj8\" target=\"_blank\">Time-complexity analysis of an iterative algorithm to determine whether an array has unique elements<\/a>&nbsp;&nbsp;&nbsp;&nbsp;\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=F6fkZLFsZBE\" target=\"_blank\">Time-Complexity analysis of a recursive algorithm to determine the number of bits needed to represent a positive integer<\/a>&nbsp;&nbsp;&nbsp;&nbsp;\n<\/p>\n<h4>\n\t<u><font color=\"green\">Module 2 (Chapters 3-6): Classical Algorithm Design Techniuqes<\/font><\/u><br \/>\n<\/h4>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=B75luJNbLNc\" target=\"_blank\">Brute Force Algorithms QB &#8211; String Matching Problems<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=l8p2E_1Uh6c\" target=\"_blank\">Decrease and Conquer &#8211; Insertion Sort Algorithm and Examples<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=FLQQFWNzg1U\" target=\"_blank\">Divide and Conquer &#8211; Theorem-Proof: In order Traversal of a Binary Search Tree<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=UwNizOUZZ1E\" target=\"_blank\">Divide and Conquer &#8211; Master Theorem<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=n0dG7YDHcQs\" target=\"_blank\">Binary Search Algorithm and Examples<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=JnzoaqITEQY\" target=\"_blank\">Comparison of Bottom-up and Top-down Approaches for Heap Construction<\/a>&nbsp;&nbsp;&nbsp;&nbsp;\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=IszpiH4unY8\" target=\"_blank\">Transform and Conquer &#8211; Proof for Euclid&#039;s GCD Formula<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=3L5fOls22G8\" target=\"_blank\">Transform and Conquer &#8211; Heap Sort<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=YLxOML6tOd4\" target=\"_blank\">Space-Time Tradeoffs for the Sorting Algorithms (Merge, Insertion and Heap Sorts)<\/a>&nbsp;&nbsp;&nbsp;&nbsp;\n<\/p>\n<h4>\n\t<u><a name=\"GreedyDynamicProg\"><font color=\"green\">Module 3 (Chapter 9): Greedy Technique<\/font><\/a><\/u><br \/>\n<\/h4>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=c2Ush3m_sfc\" target=\"_blank\">Greedy Technique &#8211; Fractional Knapsack Problem<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=aIpamFTvMvk\" target=\"_blank\">Greedy Technique &#8211; Huffman Codes (Variable Length Prefix-free Encoding)<\/a>\n<\/p>\n<h4>\n\t<u><font color=\"green\">Module 4 (Chapter 8): Dynamic Programming<\/font><\/u><br \/>\n<\/h4>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=mSyiRGSAq7k\" target=\"_blank\">Dynamic Programming: Coin-row Problem Discussion and Example<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=F0N2bpduU1I\" target=\"_blank\">Dynamic Programming: Binomial Coefficient<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=94FEC_uNwVM\" target=\"_blank\">Dynamic Programming: Coin-Collecting Problem for a Robot in a Two-dimensional Grid<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=VoZVaugg8b4\" target=\"_blank\">Dynamic Programming: Integer Knapsack Problem (0-1 Knapsack Problem)<\/a>\n<\/p>\n<h4>\n\t<u><a name=\"GraphAlgs\"><font color=\"green\">Module 5: Graph Theory Algorithms<\/font><\/a><\/u><br \/>\n<\/h4>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=aBs-z1s18Qo\" target=\"_blank\">Depth First Search on Directed Graph<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=tVDJ0z0pHmE\" target=\"_blank\">Depth First Search and Articulation Points<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=Wpb4xvMhzYA\" target=\"_blank\">Breadth First Search and 2-Colorability of Graphs<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=gpMPGo2gcgY\" target=\"_blank\">Topological Sort on DAGs and Proof for Neccessary and Sufficient Condition<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=V8VxK1cr0x0\" target=\"_blank\">Dijkstra&#039;s Algorithm for Shortest Path Trees and Proof for Correctness<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.youtube.com\/watch?v=fzr2bd5iM4c\" target=\"_blank\">Bellman-Ford Algorithm for Shortest Path Trees and Examples<\/a> <font color=\"red\"> New!!<\/font>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.youtube.com\/watch?v=QolyNigz9jo\" target=\"_blank\">Kruskal&#039;s Algorithm: Examples to find Minimum Spanning Trees<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.youtube.com\/watch?v=_N9Qz0IzxaA\" target=\"_blank\">Kruskal&#039;s Algorithm: Proof of Correctness<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.youtube.com\/watch?v=jey8LEREkKc\" target=\"_blank\">Properties (1 and 2) of Minimum Spanning Tree: IJ-Cut and Minimum Weight Edge<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.youtube.com\/watch?v=Ftkv1Ijp5Jw\" target=\"_blank\">Properties (3 and 4) of Minimum Spanning Tree: A graph with unique edge weights has only one minimum spanning tree<\/a>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.youtube.com\/watch?v=nU5Fu4BMbkk\" target=\"_blank\">Property 5 of Minimum Spanning Tree: Given a graph with unique edge weights, the largest weight edge in any cycle cannot be part of any minimum spanning tree<\/a>\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=CA_RflgoPV8\" target=\"_blank\">Prim&#039;s Algorithm for Minimum Spanning Trees and Proof for Correctness<\/a>\n<\/p>\n<p>\n\t<a name=\"FloydAlgorithm\"><b>Floyd&#039;s All Pairs Shortest Paths Algorithm<\/b><\/a><br \/>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=nJcAHqUP_vo\" target=\"_blank\">Part 1<\/a>&nbsp;&nbsp;&nbsp;&nbsp; <a href=\"http:\/\/www.youtube.com\/watch?v=6kdDyzN67Nk\" target=\"_blank\">Part 2<\/a>&nbsp;&nbsp;&nbsp;&nbsp; <a href=\"http:\/\/www.youtube.com\/watch?v=QZ8dXzER6PM\" target=\"_blank\">Part 3<\/a>&nbsp;&nbsp;&nbsp;&nbsp; <a href=\"http:\/\/www.youtube.com\/watch?v=d7Jqdu0VqPk\" target=\"_blank\">Part 4<\/a>&nbsp;&nbsp;&nbsp;&nbsp; <a href=\"http:\/\/www.youtube.com\/watch?v=LK2Mk1Nc5Zc\" target=\"_blank\">Part 5<\/a>&nbsp;&nbsp;&nbsp;&nbsp; <a href=\"http:\/\/www.youtube.com\/watch?v=C8EFMlV1f6k\" target=\"_blank\">Part 6<\/a>&nbsp;&nbsp;&nbsp;&nbsp; <a href=\"http:\/\/www.youtube.com\/watch?v=ZjYYQXVqhA8\" target=\"_blank\">Part 7<\/a>&nbsp;&nbsp;&nbsp;&nbsp;\n<\/p>\n<h4>\n\t<u><a name=\"P-NP-Videos\"><font color=\"green\">Module 6: P, NP and NP-Complete Problems<\/font><\/a><\/u><br \/>\n<\/h4>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=_PG9ZO_kMAI\" target=\"_blank\">Polynomial Reduction: Hamiltonian Circuit to Traveling Salesman Problem<\/a>&nbsp;&nbsp;&nbsp;&nbsp;\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=5yYAPhmR3BU\" target=\"_blank\">Minimal Number of Uncovered Neighbors Heuristic: Example to determine an Independent Set, Vertex Cover and Clique<\/a>&nbsp;&nbsp;&nbsp;&nbsp;\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=qdBRgTIE1TM\" target=\"_blank\">Polynomial Reductions: Independent Set, Clique and Vertex Cover<\/a>&nbsp;&nbsp;&nbsp;&nbsp;\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=zXqZ7A26ozw\" target=\"_blank\">Multi-fragment Heuristic for the Traveling Salesman Problem<\/a>&nbsp;&nbsp;&nbsp;&nbsp;\n<\/p>\n<p>\n\t<a href=\"http:\/\/www.youtube.com\/watch?v=fnFooeiimZo\" target=\"_blank\">Twice around the tree Heuristic for the Traveling Salesman Problem and the Proof for approximation ratio<\/a>&nbsp;&nbsp;&nbsp;&nbsp;\n<\/p>\n<h3>\n\t<a name=\"TestSchedules\">Quiz, Exam and Project Schedules<\/a><br \/>\n<\/h3>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Schedule-NEW.jpg\"><img decoding=\"async\" loading=\"lazy\" alt=\"CSC 323 Spring 2015 Schedule\" class=\"aligncenter size-large wp-image-117\" height=\"319\" src=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Schedule-NEW-1024x523.jpg\" width=\"625\" srcset=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Schedule-NEW-1024x523.jpg 1024w, https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Schedule-NEW-300x153.jpg 300w, https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Schedule-NEW-624x319.jpg 624w, https:\/\/www.jsums.edu\/nmeghanathan\/files\/2015\/04\/CSC323-Sp2015-Schedule-NEW.jpg 1666w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/a>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Instructor: Dr. Natarajan Meghanathan &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; Syllabus Lecture Slides Project Descriptions Dr. Meg&#039;s Desktop Selected Lecture Videos Quiz, Exam and Project Schedules &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; Syllabus CSC 323 Syllabus, Spring 2015 Lecture Slides Module 1: Algorithm Efficiency Analysis Module 2: Classical Design Techniques Module 3: Greedy Strategy Module 4: Dynamic Programming Module 5: Graph Theory Algorithms Module 6: [&hellip;]<\/p>\n","protected":false},"author":168,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/pages\/75"}],"collection":[{"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/users\/168"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/comments?post=75"}],"version-history":[{"count":25,"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/pages\/75\/revisions"}],"predecessor-version":[{"id":118,"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/pages\/75\/revisions\/118"}],"wp:attachment":[{"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/media?parent=75"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}