7/3/2015Data Structures and Algorithms1 Dick Steflik Fall 2012.

Slides:



Advertisements
Similar presentations
Intro to CIT 594
Advertisements

COP3330 Object Oriented Programming in C++ Syllabus
Cpt S 122 – Data Structures Course Introduction
Computers in Principle & Practice I - V Deena Engel Computers in Principle and Practice I V , Sections 1 & 2 Fall, 2009 Deena Engel .
CSCE 210 Data Structures and Algorithms
Intro to CIT 594
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CMSC 132: Object-Oriented Programming II
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
CS 331 / CMPE 334 – Intro to AI CS 531 / CMPE AI Course Outline.
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
OBJECT ORIENTED PROGRAMMING I LECTURE 1 GEORGE KOUTSOGIANNAKIS
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
COMP152 Object-Oriented Programming and Data Structures Spring 2011.
IS 320: Data Structures Spring Quarter DESCRIPTION This class is an introduction to data structures. The primary data structures—list, stack, queue,
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CSCE 3110 Data Structures and Algorithm Analysis.
Intro to CIT 594
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
COMP 151: Computer Programming II Spring Course Topics Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) Recursion.
WEEK 1 CS 361: ADVANCED DATA STRUCTURES AND ALGORITHMS Dong Si Dept. of Computer Science 1.
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
Course Introduction Bryce Boe 2012/08/06 CS32, Summer 2012 B.
Data Structures and Programming.  Today:  Administrivia  Introduction to 225, Stacks  Course website: 
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
Data Structures Lecture 1: Introduction Azhar Maqsood NUST Institute of Information Technology (NIIT)
CS 103 Discrete Structures Lecture 01 Introduction to the Course
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
COMPE 226 Data Structures 2015 Fall Murat KARAKAYA Department of Computer Engineering.
CST 229 Introduction to Grammars Dr. Sherry Yang Room 213 (503)
Data Structures, Algorithms, and Generic Programming Breno de Medeiros COP 4530 / CGS 5425 (Fall 2006)
Prof. Matthew Hertz WTC 207D /
1 Project Information and Acceptance Testing Integrating Your Code Final Code Submission Acceptance Testing Other Advice and Reminders.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
Introduction to Data Structures
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
COMP2012 Object-Oriented Programming and Data Structures Fall 2015.
CMSC 2021 CMSC 202 Computer Science II for Majors Fall 2002 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
Course Introduction Andy Wang COP 4530 / CGS 5425 Fall 2003, Section 4.
Overview Introductions Administrative Material – Syllabus & Outline What we’re going to cover in this class.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
CSE 3358 NOTE SET 1 Data Structures and Algorithms.
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Intro to CIT 594
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2001 Sections Ms. Susan Mitchell.
1 Data Structures COP 4530 Spring 2010 MW 4:35 PM – 5:50 PM CHE 101 Instructor:Dr. Rollins Turner Dept. of Computer Science and Engineering ENB
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2003 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Course Info Instructor U.T. Nguyen Office: CSEB Office hours: Tuesday, 14:30-15:30 Thursday, 12:00-12:45 By.
Data Structures and Algorithms in Java AlaaEddin 2012.
CSE 1340 Introduction to Computing Concepts Class 1 ~ Intro.
Course Information CSE 2031 Fall Instructor U.T. Nguyen Office: CSE Home page:
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
CSCE 210 Data Structures and Algorithms
Networking CS 3470, Section 1 Sarah Diesburg
Andy Wang Object Oriented Programming in C++ COP 3330
Computer Engineering Department Islamic University of Gaza
CS101 Computer Programming I
CSc 020: Programming Concepts and Methodology II
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
Andy Wang Object Oriented Programming in C++ COP 3330
Accelerated Introduction to Computer Science
EECE.3220 Data Structures Instructor: Dr. Michael Geiger Spring 2017
CS Problem Solving and Object Oriented Programming Spring 2019
CSCE156: Introduction to Computer Science II
Presentation transcript:

7/3/2015Data Structures and Algorithms1 Dick Steflik Fall 2012

7/3/2015 Data Structures and Algorithms 2 Instructor Prof. Richard (“Dick”) Steflik Office: T22 Engineering Building Office Hours: Tue and Thu : 11:00 – 1:00 PM

7/3/2015 Data Structures and Algorithms 3 Teaching Assistant TA: Huseyin Aygan  Office Hours: TBA Blackboard:   “Data Structures and Algorithms-SPG2”, section B1

7/3/2015 Data Structures and Algorithms 4 Course Information Course Web page  No cell phones/ smart phones in class  (can keep it in vibrate/silent mode) No Laptops can be used during class  take notes in the old-fashioned way Slides will NOT be provided before the lecture  Take notes in class

7/3/2015 Data Structures and Algorithms 5 Class list  You should have received an from me on this list  You are responsible for everything I write to this address  Revisit the list archives if necessary

7/3/2015 Data Structures and Algorithms 6 Prerequisites and Background CS 140 CS 210 or CS 211 Past programming experience in C or C++ is not required We will build fairly large programs, and move quickly for some beginning programmers

7/3/2015 Data Structures and Algorithms 7 Grading 20%: 2 Exams  tentative breakup: 10% and 10% 20%: Lab Grade (lab grades and attendance) 10%: Quizzes and Attendance 50%: Programming Assignments, Projects

7/3/2015 Data Structures and Algorithms 8 Course Requirements (more detail) Labs  About 10 “regular”, graded, labs  Usually due within a week of the lab  Submit via class FTP server (bigblackbox.cs.binghamton.edu)  No makeups  No drops  Attendance is required

7/3/2015 Data Structures and Algorithms 9 Course Requirements (more detail) Exams (2)  Closed notes, closed book, in class  Exams are not cumulative

7/3/2015 Data Structures and Algorithms 10 Course Requirements (more detail) Projects (6)  “Bigger” than labs, more interesting  Two weeks (usually)  Team work if explicitly mentioned in the description  Submit via class FTP server Attendance & Participation  Come to class, lab, office hours, ask questions  there are NO dumb questions

7/3/2015 Data Structures and Algorithms 11 Course Materials Textbook (Required)  ADTs, Data Structures, and Problem Solving with C++, Second Edition, Larry Nyhoff,  Prentice Hall (2005)  ISBN:  My Powerpoint slides  Available from Course Web page  Necessary but not sufficient…

7/3/2015 Data Structures and Algorithms 12 Course Policies Office Hours and help  Please concentrate almost all of your in-person requests of the TA’s and I to office hours  “By Appointment” is always an option  Feel free to any time  for content questions to the entire class  for other issues  Assume any to the TA will be forwarded to me

7/3/2015 Data Structures and Algorithms 13 Course Policies Late Penalties  Tough but reasonable  Good excuses will be honored (health, court appearance)  Individual extensions rarely granted  I sometimes give the whole class an extension (but don’t count on it!)  Many labs and assignments will come with a late penalty and a “zero time”  If we get it after “zero time” you get a zero, probably because we will post answers by then

7/3/2015 Data Structures and Algorithms 14 Course Policies (continued) “Collaboration”  Work individually  Get help from TA’s and me  we are very responsive  Be careful when talking to fellow students  Learn general information, not specific solutions  Never share or borrow code (this is a violation of the Academic Honesty Code)  “Collaborators” will be punished equally and harshly  We can tell…

7/3/2015 Data Structures and Algorithms 15 Grade Changes TA/CA will do the grading, but grade changes must come through me  After 2 weeks, grades are set in stone  Visit me during office hours (or send )  We will make grading mistakes, and we will happily correct them (but don’t push it)

7/3/2015 Data Structures and Algorithms 16 Some comments… Wide variety of incoming skill levels  I will try to challenge everyone  See me early if you have problems  (Also see me if you’re not learning enough) Organization and perseverance count  This class will be a lot of work for many of you  Start early, plan to work hard on each assignment

7/3/2015 Data Structuress and Algorithms 17 Official Course Description Analysis of the design, implementation, and properties of basic and advanced data structures, including lists, stacks, queues, hash tables, trees, heaps, and graphs. Design and time-space analysis of basic and advanced algorithms, including searching, sorting, insert/delete, hash table collision resolution techniques, recursive functions, balanced tree maintenance, and graph algorithms. Weekly required laboratory programming and three or more additional programming projects in C++. Practical programming techniques including C++ templates and the Standard Template Library (STL), operator overloading, C++ stream I/O, separate compilation using makefiles, debugging tools and techniques, dynamic memory management. Prerequisites: CS 120 or CS 210, and CS 140.

7/3/2015 Data Structures and Algorithms 18 In a nutshell What is programming? Programming is about storing, accessing, and manipulating data Many options exist  How do we organize data in programs?  What language mechanisms do we employ?  How do we evaluate different solutions? Choices have important performance and functionality consequences…. In this class, you’ll learn how to use the tools (language mechanisms and data structures) and how to pick the right tool (algorithm analysis) for different jobs

7/3/2015 Data Structures and Algorithms 19 Objectives: Become proficient in… Programming  recursion, pointers, simple memory management and allocation, separate compilation, parameter passing, and more C++ programming language concepts  classes, objects, pointers and references, enumerated types, typedefs, templates, and more Container concepts, representations, and operations  lists, queues, stacks, trees, graphs, heaps, hash tables

7/3/2015 Data Structures and Algorithms 20 Objectives: Become proficient in… Abstract data type (ADT) concepts  design and implementation considerations Sorting algorithms  bubble sort, selection sort, merge sort, quicksort, counting sort, and more Simple performance analysis of algorithms and container operations

7/3/2015 Data Structures and Algorithms 21 Course Objectives I hope to turn you into computer programmers…  Direct exposure to important tools and concepts  Experience – long hours in the lab (for some of you)  Failure (small “failures”… not course failure!)  Large programs – more code than you’ve written before I care more what you think looking back at this class, than during or immediately following…  (curse me now, thank me later?!)

7/3/2015 Data Structures and Algorithms 22 Help with C  Sections 1 and 2 Appendices C, D and E of Nyhoff Books listed on the class Web page