Data Structures and Algorithms

Similar documents
BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

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

CPSC 2380 Data Structures and Algorithms

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

Computer Science 210: Data Structures

Course Administration

Introduction to Programming System Design CSCI 455x (4 Units)

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

SYLLABUS Type of evaluation

COMP251: Algorithms and Data Structures. Jérôme Waldispühl School of Computer Science McGill University

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016

COMP Data Structures

CSCI 4250/6250 Fall 2013 Computer and Network Security. Instructor: Prof. Roberto Perdisci

CS503 Advanced Programming I CS305 Computer Algorithms I

CENG 707 Data Structures and Algorithms

COMP Data Structures

During the first 2 weeks of class, all students in the course will take an in-lab programming exam. This is the Exam in Programming Proficiency.

Announcements. 1. Forms to return today after class:

CSCI 136 Data Structures & Advanced Programming. Spring 2018 Instructors Bill Jannen & Jon Park

VE281 Data Structures and Algorithms. Introduction and Asymptotic Algorithm Analysis

Computer Programming II C++ (830)

SAMPLE. COS 161 Algorithms in Programming. Prof. Briggs Fall 2017

CS 241 Data Organization using C

CMSC 341. Shawn Lupoli (substituting for Nilanjan Banerjee) UMBC CMSC 341 Intro 1

Home Works and Assignments

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

CMPT 126: Introduction to Computing Science and Programming Fall 2007, Harbour Centre

CS120 Computer Science I. Instructor: Jia Song

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

CISC 3130 Data Structures Fall 2018

You must pass the final exam to pass the course.

Textbook(s) and other required material: Raghu Ramakrishnan & Johannes Gehrke, Database Management Systems, Third edition, McGraw Hill, 2003.

COMP250: Introduction to Computer Science. Jérôme Waldispühl & Carlos Oliver Gonzalez School of Computer Science McGill University

COMP-202C: Foundations of Programming

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

Cleveland State University

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

Cleveland State University

CS2013 Course Syllabus Spring 2017 Lecture: Friday 8:00 A.M. 9:40 A.M. Lab: Friday 9:40 A.M. 12:00 Noon

ITT Technical Institute. ET4560T C++ Programming Onsite Course SYLLABUS

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

CISC 3130 Data Structures Spring 2018

Outline. Computer Science 331. Course Information. Assessment. Contact Information Assessment. Introduction to CPSC 331

INFS 2150 (Section A) Fall 2018

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007

CSE 504: Compiler Design

AP Computer Science AB

Syllabus CS 301: Data Structures Spring 2015

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

CS2102, B11 Exam 1. Name:

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

CSE373: Data Structures and Algorithms Lecture 1: Introduction; ADTs; Stacks/Queues. Lauren Milne Summer 2015

CSC 1052 Algorithms & Data Structures II: Introduction

CS 240 Fall Mike Lam, Professor. Just-for-fun survey:

Welcome to MCS 360. content expectations. using g++ input and output streams the namespace std. Euclid s algorithm the while and do-while statements

Announcements. Course Staff. Course Staff. Lectures 10/19/11. CS/ENGRD 2110 Fall Instructor. Administrative Assistant

McGill University COMP-202A Introduction to Computing I Summer 2006 webct.mcgill.ca

3D Graphics Programming Mira Costa High School - Class Syllabus,

Compilers. Computer Science 431

CSCI 6312 Advanced Internet Programming

ECE 3574: Applied Software Design

CS 3030 Scripting Languages Syllabus

Computer Programming II Python

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

CSE 332: Data Abstractions. Ruth Anderson Spring 2014 Lecture 1

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ADVANCED DATABASE MANAGEMENT SYSTEMS CSIT 2550

ce Hours: MW 12:30 PM 1:30 PM (till 12/12/18), or by appointment

CSci 4211: Data Communications and Computer Networks. Time: Monday and Wednesday 1 pm to 2:15 pm Location: Vincent Hall 16 Spring 2016, 3 Credits

Data Structures and Algorithms

Computer Science Department

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

CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

IS Spring 2018 Database Design, Management and Applications

New Undergraduate Course Proposal Form

Fundamentals of Database Systems

CS 210 Algorithms and Data Structures College of Information Technology and Engineering Weisberg Division of Engineering and Computer Science

COLLEGE OF THE DESERT

COMP Analysis of Algorithms & Data Structures

ITT Technical Institute. ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS

CSC2100-Data Structures

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

CMSC 132: Object-Oriented Programming II. Administrivia

Data Structures and Algorithms 1

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

MIS NETWORK ADMINISTRATION. Spring Quarter 2007 COURSE OUTLINE

ITT Technical Institute. SD1420 Introduction to Java Programming Onsite and Online Course SYLLABUS

COLLEGE OF DUPAGE CIS 2542 Advanced C++ with Data Structure Applications Course Syllabus

Course Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011

Lecture 0 of 41: Part A Course Organization. Introduction to Computer Graphics: Course Organization and Survey

Computer Science 1321 Course Syllabus

CMPE 180A Data Structures and Algorithms in C++

Department of Computer & Information Sciences. CSCI-342: Introduction to Information Security Syllabus

ITSC 1319 INTERNET/WEB PAGE DEVELOPMENT SYLLABUS

CS/SE 153 Concepts of Compiler Design

CNT 4004: Computer Networks I. Tentative Syllabus

CSCI 201L Syllabus Principles of Software Development Spring 2018

Advanced Programming CMPS 109

Plan of the lecture. Quick-Sort. Partition of lists (or using extra workspace) Quick-Sort ( 10.2) Quick-Sort Tree. Partitioning arrays

Announcements. Course syllabus Tutorial/lab signup form (due 4pm today) Lecture 1 notes Homework 1 Initial assessment

Transcription:

Data Structures and Algorithms Lecture 1: Course Overview Lilia Georgieva 2004 Goodrich, Tamassia

What is this course about? We will study moderately complex data structures and algorithms that are essential in core areas of computer science Compilers Operating Systems Database Systems Search Engines etc. This is one of the most important (and fun) courses you will take Prerequisite for almost all other upper year courses Analysis of Algorithms 2

Simple data structures you have seen Data structure = representation and operations associated with a data type Set/bag Array Tree Analysis of Algorithms 3

Simple algorithms you have seen Binary search Bubble sort Quick sort Analysis of Algorithms 4

Knowledge Assumed We assume you know basic data structures Arrays, bags, lists, stacks, queues, linked lists Functions, logarithms, exponents, sets, series, derivatives, limits Abstract Data types Basic object oriented design concepts abstraction, encapsulation, modularity Analysis of Algorithms 5

Skills Assumed We assume you know how to program in Java can design, implement, test, debug, and document simple Java programs can read and understand moderate size Java programs can write and understand simple recursive code This is not a course on Java. If you don t know Java, start learning it now, before the programming assignments are due! Books, tutorials on the web, etc. Chapter 1 of our text book (Goodrich&Tamassia) gives a good introduction to Java Analysis of Algorithms 6

What will you learn? Analysis of moderately complex algorithms How to predict algorithm s performance time and space complexity Algorithm correctness Moderately complex data structures that let us efficiently store, access, manage data How to solve practical problems efficiently by choosing the appropriate data structures and algorithms Analysis of Algorithms 7

Topics Covered Analysis of algorithms Time and space complexity Correctness Data Structures Dictionaries, hash tables Priority queues and heaps Trees, binary search trees, multi-way search trees Graphs Algorithms Binary Search, sorting, algorithms on trees and graphs Java Interfaces; Java exceptions Analysis of Algorithms 8

Contact Info Information Lecturers: Lilia Geprgieva and Phil Trinder Lectures: Mon 12:15-13:15, Tue 12:15-13:15, Fri 9:15-10:15 Labs: Fri 13:15-15:15pm Office hours: Tue 9:15-10:15am or by appointment Lecture Notes Will be available on the course web site Analysis of Algorithms 9

Contact Info Course Web Page Check the course web page frequently I will post any important announcements on the web page (about homework, exams, etc.) Analysis of Algorithms 10

Textbook Main: Data Structures and Algorithms in Java, forth edition, Goodrich and Tamassia, John Wiley & Sons, 2006 Supplementary: Data Structures and Algorithms with Object Oriented Design Patterns in Java, Bruno R. Preiss, Wiley, 2000 The Java Programming Language, Arnold and Gosling, Addison-Wesley, 1996. Java, an Object Oriented Approach, Arnow and Weiss, Addison-Wesley, 1999. Other books listed on the course web site Analysis of Algorithms 11

Class Attendance Not required, but strongly encouraged Lecture notes is only a summary of things happening in class, will not contain many examples Students who attend lectures tend to do better Attending lecture is most efficient way to learn the required material Analysis of Algorithms 12

Late Policy Assignment extensions may be granted only by the course lecturers If you have serious medical or compassionate grounds for an extension, take the supporting documentation to the school s office. Analysis of Algorithms 13

Ethical Conduct All assignments are to be done individually Assignments judged to be the result of academic dishonesty will, First offence = -assignment weight Second offence = failing mark We have sophisticated software which will examine your code against everyone else in class Analysis of Algorithms 14

Email Contact If you send email to lecturers or lab helpers form another account, send a carbon copy (cc) to your university email address. The tutors will respond to your university address. Analysis of Algorithms 15