CISC 3130 Data Structures Spring 2018

Similar documents
CISC 3130 Data Structures Fall 2018

CS503 Advanced Programming I CS305 Computer Algorithms I

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

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Fall 2017

CS 241 Data Organization using C

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

EECE.2160: ECE Application Programming Spring 2017

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus

EECE.2160: ECE Application Programming Spring 2019

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

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

CSCE 206: Structured Programming in C

CPSC 2380 Data Structures and Algorithms

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018

Introduction to UNIX

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

Introduction to Data Structures

Introduction to Information Technology ITP 101x (4 Units)

ECE Object-Oriented Programming using C++ and Java

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

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

Course Title: Computer Networking 2. Course Section: CNS (Winter 2018) FORMAT: Face to Face

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

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

Web Programming Fall 2011

CSC 111 Introduction to Computer Science (Section C)

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

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

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

Dr. Angela Guercio Dr. Natalia Dragan. Spring 2011

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

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

COMP Analysis of Algorithms & Data Structures

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

Computer Science 210: Data Structures

CSCO 121 CCNA Routing and Switching Essentials Spring 2018

Database Systems: Concepts, design, and implementation ISE 382 (3 Units)

San José State University Computer Science CS 122 Advanced Python Programming Spring 2018

Survey of Programming Languages Dr. R. M. Siegfried 407 Science (516) (not for homework submission)

CSci 4211: Introduction to Computer Networks. Time: Monday and Wednesday 2:30 to 3:45 pm Location: Smith Hall 231 Fall 2018, 3 Credits

Object-Oriented Programming for Managers

A: 90% - 100% B: 80% - <90% C: 70% - <80% D: 60% - <70% F: < 60% Important Dates:

CSCO 120 CCNA Internetworking Fundamentals Spring 2018

CS251-SE1. Midterm 2. Tuesday 11/1 8:00pm 9:00pm. There are 16 multiple-choice questions and 6 essay questions.

INFS 2150 (Section A) Fall 2018

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

The Linux Command Line: A Complete Introduction, 1 st ed., by William E. Shotts, Jr., No Starch Press, 2012.

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

CSCO 220 CCNA Scaling Networks Spring 2018

COMP Data Structures

You must pass the final exam to pass the course.

CIT110 A+ Hardware Spring 2015

CS 0449 Intro to Systems Software Fall Term: 2181

Web Programming Spring 2010

ITP489 In-Memory DBMS for Real Time Analytics

Course Syllabus. Course Information

a f b e c d Figure 1 Figure 2 Figure 3

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

Internet Web Technologies ITP 104 (2 Units)

COMP Data Structures

Compilers. Computer Science 431

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

CMPE 180A Data Structures and Algorithms in C++

Computer Science Technology Department

ITP454 Enterprise Resource Planning, Design, and Implementation

University of North Texas ACCT 4100 (3 hours) Accounting Systems. Section Time Place 001 TR 12:30 1:50 p.m. Busi R 6:30-9:20 Busi 231

CSC 216 Data Structures Dr. Melissa Wiggins MCC 306 (601)

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

Object Oriented Programming Using C++

17 February Given an algorithm, compute its running time in terms of O, Ω, and Θ (if any). Usually the big-oh running time is enough.

Digital Forensics ITP 375 (3 Units)

CS 241 Data Organization. August 21, 2018

GET 433 Course Syllabus Spring 2017

Advanced Programming CMPS 109

San José State University College of Science/Department of Computer Science CS 152, Programming Language Paradigms, Section 03/04, Fall, 2018

ECE573 Introduction to Compilers & Translators

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

When does RDBMS representation make sense When do other representations make sense. Prerequisites: CS 450/550 Database Concepts

ESET 349 Microcontroller Architecture, Fall 2018

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

ITSY Information Technology Security Course Syllabus Spring 2018

CSCI 201L Syllabus Principles of Software Development Spring 2018

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques

Computer Science 1321 Course Syllabus

CSE 504: Compiler Design

Cleveland State University

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

! Mon, May 5, 2:00PM to 4:30PM. ! Closed book, closed notes, clean desk. ! Comprehensive (covers entire course) ! 30% of your final grade

C Programming for Engineers Introduction

COSC 115A: Introduction to Web Authoring Fall 2014

Cleveland State University

TPA 4251C: Advanced CADD for Theatre TPA 5346C: 3D Modeling for Theatre Fall 2014

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

INST Database Design and Modeling - Section 0101 Spring Tentative Syllabus

AE Computer Programming for Aerospace Engineers

Programming Standards: You must conform to good programming/documentation standards. Some specifics:

CS Computer Science I

R10 SET - 1. Code No: R II B. Tech I Semester, Supplementary Examinations, May

Transcription:

CISC 3130 Data Structures Spring 2018 Instructor: Ari Mermelstein Email address for questions: mermelstein AT sci DOT brooklyn DOT cuny DOT edu Email address for homework submissions: mermelstein DOT homework AT gmail DOT com Course Web page: www.sci.brooklyn.cuny.edu/~mermelstein Class meeting hours: TY9: Tuesdays and Thursdays 9:05-10:45 AM in room 4141 N Office hour and room: Tuesdays 12:30-1:30PM and 5:00-6:00PM in 532 NE or by appointment. Note: It is okay for any of my students to come to either office hour, but I will give preference to night students in the night office hour. Required Textbook Data Structures with C++ Using STL Second Edition by William Ford and William Topp. ISBN: 01308580-1. Prerequisite CISC 3110 - Advanced Programming Techniques Information most needed from CISC 3110: 1. How to allocate, use, and deallocate memory from the heap 2. Pointer arithmetic 3. Recursion 4. Classes- including: - accessors/mutators - Constructors / Destructors - Copy constructors/default constructors - operator overloading

Course Objectives After successfully completing this course, students will be able to 1. Demonstrate understanding of the abstract properties of various data structures such as stacks, queues, lists, and vectors and be able to use these classes effectively in application programs. 2. Demonstrate ability to use the STL data structures, and understand the advantages and disadvantages of each one, including the applications of the various data structures. 3. Discuss different possible implementations for various data structures in more than one way, compare the different implementations and explain the advantages and disadvantages of the different implementations. 4. Demonstrate understanding of and be able to program various sorting algorithms, and be able to compare the efficiency of these algorithms in terms of both time and space. 5. Trace and code recursive functions, especially those used to implement the data structures discussed above. Academic Integrity The faculty and administration of Brooklyn College support an environment free from cheating and plagiarism. Each student is responsible for being aware of what constitutes cheating and plagiarism and for avoiding both. The complete text of the CUNY Academic Integrity Policy and the Brooklyn College procedure for policy implementation can be found at www.brooklyn.cuny.edu/bc/policies. If a faculty member suspects a violation of academic integrity and, upon investigation, confirms that violation, or if the student admits the violation, the faculty member must report the violation.

Non-Attendance Because Of Religious Observance The state law regarding non-attendance because of religious beliefs is on p. 53 in the Bulletin. Please let me know now if you have to miss an exam. Center for Student Disability Services In order to receive disability-related academic accommodations students must first be registered with the Center for Student Disability Services. Students who have a documented disability or suspect they may have a disability are invited to set up an appointment with the Director of the Center for Student Disability Services, Ms. Valerie Stewart-Lovell at (718) 951-5538. If you have already registered with the Center for Student Disability Services, please provide your professor with the course accommodation form and discuss your specific accommodation with him/her. Important Dates For the Spring 2017 Semester Friday, February 2 : Last day to add a course. Monday, February 5: Last day to file for elective course Pass/Fail. Monday, February 12: College is closed. Thursday, February 15: Last day to file for Spring 2018 graduation. Friday, February 16: Last day to drop a course without a grade. Monday, February 19: College is closed. Tuesday, February 20: Conversion Day / Monday schedule Friday, April 6 : Last day to resolve incompletes from Fall 2017 and Winter 2018. March 30-April 8: Spring Recess Wednesday, April 11: Conversion day / Friday Schedule Monday, April 16: Last day to drop a course with a W grade. Thursday, May 17: Reading day.

Grades First Test - 25% Second Test - 25 % Final Exam- 30% Homework - 15% Participation- 5% Final grade calculation Your letter grade will be determined as follows: A+ : 98-100 A : 93-97 A- : 90-92 B+: 87-89 B: 83-86 B-: 80-82 C+: 77-79 C : 73-76 C- : 70-72 D+: 67-69 D: 63-66 D- : 60-62 F : < 60 Exam Dates - Tentative The first exam will be held on Tuesday March 13. The second exam will be held on Tuesday May 1. Each exam will last only 1 hour and 40 minutes. The final exam (not tentative) for TY9 will be on Thursday, May 24 at 8:00 AM (NOT 9:05!) room TBA. Note: The final exam will be cumulative, and I am not allowed to give any more time than 2 hours.

Homework Homework will be assigned every 1-2 weeks, and you will typically have 2 weeks to complete assignments. Assignments will typically include multiple files. You may use any operating system you like, but please don t rely on system dependencies. (I.e. #include all files that are necessary, whether or not it compiles or works without it.) Please don t email executable files; just code. Only code that is commented and documented, explaining what the code does will be marked fully correct. If I can t ascertain the correctness of your solution, I can not possibly grade it properly. Homework must be emailed to the homework email address, with the subject line: CISC 3130 Homework # <number> - <Full name> When you submit your homework, you should get an automated message saying Homework submitted. Please hold on to this receipt in case there s a dispute over me receiving your homework. Please don t zip your files together. The homework assignments will be graded out of 10. Late homework will not be accepted, unless you have spoken to me ahead of time, explaining why you need an extension. I am more than happy to grant extensions if you are honest with me. Note: I have found that students that don t do the homework when assigned do very poorly on the exams and in the course. Topics List 1. Review of CISC 3110. 2. The MyArray class 3. The STL vector template class - different constructors and their uses - the vector operations push_back(), operator[], and pop_back(). - uses for vectors 4. Implementing a vector class 5. Algorithm Analysis and Big Oh Notation. 6. The STL list template class. - different constructors and their uses - the list operations push_back(), push_front(), pop_back(), pop_front(). - list iterators to go through a list. - uses for lists. 7. Implementing a list class - list node structures

- how to link these nodes into a linked list structure. - how to write functions to insert, remove, and print all nodes in a linked list. - doubly linked lists. 8. STL stacks and queues - operations push(), pop(), empty(), and what these operations do - uses for stacks and queues. 9. Implementing stacks and queues 10. STL priority queues - operations push(), pop(), empty(), and what these operations do. - uses for priority queues. 11. Implementing a priority queue. -what a maximum heap is and how to implement it. - how to implement the functions insert() and removemax(). 12. Sorting algorithms and their complexities 13. STL set template class. -the set operations insert(), find(), and erase(). - uses for sets. 14. STL map template class. - the map operation [ ] for lookups and inserts. 15. Implementing maps and sets - Binary search trees - Hash Tables. 16. Graphs and Graph traversals - Adjacency Matrices - Adjacency Lists - DFS (Depth first traversal) - BFS (Breadth first traversal) 17. Functional Programming and the <algorithm> header file - Templates with functions - how to use iterators to leverage the standard library set.