CS/SE 2C03 Data Structures & Algorithms Graduate Attributes and Indicators

Similar documents
School of Computing and Information Sciences. Course Title: Data Structures Date: 3/30/2010 Course Number: COP 3530 Number of Credits: 3

AP Computer Science 4325

Topics for CSCI 151 Final Exam Wednesday, May 10

Design and Analysis of Algorithms. Comp 271. Mordecai Golin. Department of Computer Science, HKUST

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

ECE250: Algorithms and Data Structures Final Review Course

Virtual University of Pakistan

CSC2100-Data Structures

COLLEGE OF THE DESERT

Announcements. Last modified: Thu Nov 29 16:15: CS61B: Lecture #40 1

CSE373: Data Structures & Algorithms Lecture 28: Final review and class wrap-up. Nicki Dell Spring 2014

«Computer Science» Requirements for applicants by Innopolis University

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid

AP Computer Science AB

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid. Fall 2018

CSCE 321/3201 Analysis and Design of Algorithms. Prof. Amr Goneid. Fall 2016

Anany Levitin 3RD EDITION. Arup Kumar Bhattacharjee. mmmmm Analysis of Algorithms. Soumen Mukherjee. Introduction to TllG DCSISFI &

CS106X Programming Abstractions in C++ Dr. Cynthia Bailey Lee

Introduction to Algorithms Third Edition

St. MARTIN s ENGINERING COLLEGE Dhulapally,Secunderabad

CSci 231 Final Review

Course Review for Finals. Cpt S 223 Fall 2008

University of Waterloo CS240 Spring 2018 Help Session Problems

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims. Lecture 25: Review and Open Problems

( ). Which of ( ) ( ) " #& ( ) " # g( n) ( ) " # f ( n) Test 1

CS 445: Data Structures Final Examination: Study Guide

CPSC 211, Sections : Data Structures and Implementations, Honors Final Exam May 4, 2001

Quantitative Finance COURSE NUMBER: 22:839:615 COURSE TITLE: Special Topics Oriented Programming 2

University of Waterloo CS240R Winter 2018 Help Session Problems

THE DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS

Algorithms: Design & Practice

University of Engineering and Technology School of Computer Science Syllabus of Course Academic Period 2018-II

CS2013 Course Syllabus Spring 2018 Lecture: Mon/Wed 2:00 P.M. 2:50 P.M. SH C259 Lab: Mon/Wed 2:50 P.M. 4:00 P.M. SH C259

SYLLABUS Type of evaluation

Verification and Parallelism in Intro CS. Dan Licata Wesleyan University

COP 3502 Spring 2018 Study Union Review

Lecture #40: Course Summary

DATA ABSTRACTION AND PROBLEM SOLVING WITH JAVA

Advanced Algorithms and Data Structures

University of Waterloo CS240R Fall 2017 Review Problems

Home Works and Assignments

9. Which situation is true regarding a cascading cut that produces c trees for a Fibonacci heap?

CSE 373: Data Structures and Algorithms

COMP 250 Midterm #2 March 11 th 2013

Data Structures and Algorithm Analysis in C++

ECE250: Algorithms and Data Structures Midterm Review

CSE373: Data Structure & Algorithms Lecture 18: Comparison Sorting. Dan Grossman Fall 2013

Lecture 5: Sorting Part A

( ) 1 B. 1. Suppose f x

CSE373 Spring 2015: Final

logn D. Θ C. Θ n 2 ( ) ( ) f n B. nlogn Ο n2 n 2 D. Ο & % ( C. Θ # ( D. Θ n ( ) Ω f ( n)

COMP Data Structures

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN. Sec. Name Office Office hour Mail id

COMP Data Structures

9. The expected time for insertion sort for n keys is in which set? (All n! input permutations are equally likely.)

COS 226 Algorithms and Data Structures Fall Midterm

CSE 332: Data Structures & Parallelism Lecture 12: Comparison Sorting. Ruth Anderson Winter 2019

n 2 ( ) ( ) + n is in Θ n logn

Web Development I PRECISION EXAMS DESCRIPTION. EXAM INFORMATION Items

University of Waterloo CS240, Winter 2010 Assignment 2

DATA STRUCTURES AND ALGORITHMS

COMP Data Structures

CS503 Advanced Programming I CS305 Computer Algorithms I

Review for Midterm Exam

Data Structures and Algorithms

VE281 Data Structures and Algorithms. Introduction and Asymptotic Algorithm Analysis

The ADT priority queue Orders its items by a priority value The first item removed is the one having the highest priority value

Comparison Based Sorting Algorithms. Algorithms and Data Structures: Lower Bounds for Sorting. Comparison Based Sorting Algorithms

CPSC 311: Analysis of Algorithms (Honors) Exam 1 October 11, 2002

& ( D. " mnp ' ( ) n 3. n 2. ( ) C. " n

Course Name: B.Tech. 3 th Sem. No of hours allotted to complete the syllabi: 44 Hours No of hours allotted per week: 3 Hours. Planned.

Material covered. Areas/Topics covered. Logistics. What to focus on. Areas/Topics covered 5/14/2015. COS 226 Final Exam Review Spring 2015

Algorithms Interview Questions

Ph.D. Written Examination Syllabus

Introduction to Algorithms October 12, 2005 Massachusetts Institute of Technology Professors Erik D. Demaine and Charles E. Leiserson Quiz 1.

CPSC 2380 Data Structures and Algorithms

n 2 ( ) ( ) Ο f ( n) ( ) Ω B. n logn Ο

CPSC 331 Term Test #2 March 26, 2007

COS 226 Midterm Exam, Spring 2009

Final Exam in Algorithms and Data Structures 1 (1DL210)

Algorithms and Data Structures: Lower Bounds for Sorting. ADS: lect 7 slide 1

CSE332 Summer 2012 Final Exam, August 15, 2012

SOLUTIONS. COMP103 Introduction to Data Structures and Algorithms

Program Design with Abstract Data Types

G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Pasupula, Nandikotkur Road, Kurnool

We have used both of the last two claims in previous algorithms and therefore their proof is omitted.

AP Computer Science A (Java) Scope and Sequence

CSE373: Data Structures & Algorithms Lecture 23: Course Victory Lap. Kevin Quinn Fall 2015

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,

Student Name:.. Student ID... Course Code: CSC 227 Course Title: Semester: Fall Exercises Cover Sheet:

Lecture: Analysis of Algorithms (CS )

CSE 100 Advanced Data Structures

About this exam review

Analysis of Algorithms - Introduction -

CSE 373: Data Structures and Algorithms

ADT Priority Queue. Heaps. A Heap Implementation of the ADT Priority Queue. Heapsort

CSC263 Week 12. Larry Zhang

Chapter 1 Introduction

( ) n 3. n 2 ( ) D. Ο

Transcription:

CS/SE 2C03 Data Structures & Algorithms Graduate Attributes and Indicators George Karakostas January 12, 2015 1 What the students should know and be able to do 1. Students should know and understand (a) Worst case analysis of algorithms (b) Basic searching algorithms (binary search, search trees, hashing) (c) Basic sorting algorithms (elementary sorts, quicksort, mergesort, heapsort) (d) Elementary data structures (stacks, queues, priority queues, search trees, heaps, hash tables, tries, graph representations) (e) Graph representations & algorithms (topological sort, breadth/depth-first-search, strongly connected components, minimum spanning trees, shortest paths) (f) Basic string algorithms (g) FSA s and Regular expressions 2. Students should be able to (a) Analyze the running time of algorithms. (b) Identify the time/space trade-offs in designing data structures and algorithms. (c) Given a problem such as searching, sorting, graph and string problems, select from a range of possible algorithms, provide justification for that selection. (d) Understand implementation issues for the algorithms studied. (e) Reduce a given application to (or decompose it into) problems already studied. 1

2 Mapping to Attributes with their Indicators A01 Knowledge (3) Competence in Engineering Fundamentals 2a, 2b, 2d (4) Competence in specialized engineering knowledge 1b 1g A02 Analysis (5) Ability to identify the essential characteristics of a technical problem, 2b including scope (6) Ability to identify reasonable assumptions (including identification of uncertainties and imprecise information) that could or should be made before a 2c solution path is proposed (7) Ability to identify a range of suitable engineering fundamentals (including 1a, 2a mathematical techniques) that would be potentially useful for analyzing a technical problem (8) Ability to decompose and organize a problem into manageable subproblems 2e (9) Ability to obtain substantiated conclusions as a results of a problem solution, including recognizing the limitations of the solutions 2d A03 Investigation (10) Able to recognize and discuss applicable theory knowledge base 1b 1g (11) Capable of selecting appropriate model and methods and identify as- 2c sumptions and constraints A04 Design (17) Recognizes and follows an engineering design process 2d, 2e (18) Recognizes and follows engineering design principles 2b, 2c (25) Properly documents and communicates processes and outcomes 2c A05 Tools A06 Work A07 Communication (37) Demonstrates an ability to respond to technical and non-technical instructions and questions (39) Demonstrates appropriate use of technical vocabulary 2a 2e (40) Constructs effective written arguments 2a 2c A08 Professionalism A09 Impact A10 Ethics A11 Economics A12 Learning A13 Sustainability 2a 2

3 Course work The course work consists of assignments (15%), one midterm (40%), and a final exam (45%). 4 Prerequisite learning objectives (All references are to the 2013-2014 versions of the course reports) COMP SCI/SFWR ENG 2DM3 (all learning objectives) COMP SCI/SFWR ENG 2S03 (2b, 2c, 2d, 2i, 2k) 3

5 Learning outcomes and indicators Topic Below Marginal Meets Exceeds 1a, 2a cannot understand can apply can apply can apply and apply some asymp- asymptotic complicated the asymptotic totic analysis analysis techniques mathematical analysis of techniques for to derive reasoning to algorithms simple problems approximate develop tighter running times asymptotic for an algorithm analysis and identify areas for improving the performance of the algorithm 1b doesn t know cannot apply can apply can modify how to algorithmicallable the best avail- best available available searching searching al- searching al- solve searching algorithm gorithm out of gorithms to problems linear/binary better fit a search, binary search trees (balanced and unbalanced), hash tables 1c doesn t know cannot apply can apply best can modify how to algorithmicallable the best avail- available sort- available sort- sorting ing algorithm ing algorithms solve sorting algorithm (insertionsort, to better fit a problems quicksort, heapsort, mergesort, etc.) 1d doesn t know how to use elementary data structures (stacks, queues, priority queues, search trees, heaps, hash tables, tries) knows how to use some elementary data structures (stacks, queues, priority queues, search trees, heaps, hash tables, tries) knows how and when to use stacks, queues, priority queues, search trees, heaps, hash tables, tries can modify available elementary data structures to better fit a 4

1e doesn t know how to use different graph representations graph algorithms 1f doesn t know how to algorithmically solve string problems 1g doesn t know what FSA s and regular expressions are knows how to use some graph representations graph algorithms can come close to constructing an FSA or regular expression to describe given specs cannot correctly apply all available string algorithms can apply an appropriate string algorithm (bruteforce, KMP, Boyer-Moore, Rabin-Karp etc.) to a given problem can construct an FSA or regular expression to describe given specs knows how and when to use graph representations graph algorithms can modify available graph representations graph algorithms to better fit a given problem can modify available string algorithms to better fit a can construct very efficient FSA or regular expression to describe given specs 5

2b 2c cannot select an algorithm that solves a given problem 2d cannot give a correct implementation of an algorithm 2e doesn t know what is a proper way to reduce a to another (or decompose it into subproblems) or what intractability means can give some trivial bounds for the use of time and space by algorithms, but cannot identify the trade-off can identify an algorithm relevant to a given problem, but without satisfying the existing assumptions can give a mostly correct implementation of an algorithm but not necessarily efficient knows what reducing a to another, or decomposition into subproblems, or intractability means can give good bounds for the use of time and space by algorithms, and can identify the trade-off can identify an algorithm relevant to a, that also satisfies the existing assumptions can give a correct and efficient implementation of an algorithm cannot give any bounds for the use of time and space by algorithms can recommend an algorithm/data structure for a specific problem based on space/time tradeoffs can identify an algorithm relevant to a, that also satisfies the existing assumptions, and rigorously justify the selection as best amongst alternatives can give the most efficient correct implementation of an algorithm knows what reducing a to another, decomposition into subproblems, and intractability mean; can perform simple reductions knows what reducing a to another, decomposition into subproblems, and intractability mean; can perform sophisticated reductions 6