CISC 3130 Data Structures Fall 2018

Similar documents
CISC 3130 Data Structures Spring 2018

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

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

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

CSC 111 Introduction to Computer Science (Section C)

CS503 Advanced Programming I CS305 Computer Algorithms I

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

AP Computer Science 4325

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

You must pass the final exam to pass the course.

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

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

Introduction to Data Structures

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

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

Cleveland State University

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

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

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

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

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

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

CPSC 2380 Data Structures and Algorithms

Object-Oriented Programming for Managers

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

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

Web Programming Fall 2011

Course Syllabus. Course Information

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

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

Introduction to Information Technology ITP 101x (4 Units)

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

ESET 349 Microcontroller Architecture, Fall 2018

INFS 2150 (Section A) Fall 2018

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

Algorithms and Data Structures Spring 2008

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

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

Java 2. Course Outcome Summary. Western Technical College. Course Information. Course History. Course Competencies

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

MWF 9:00-9:50AM & 12:00-12:50PM (ET)

Samples of Evidence to Satisfy the AP Computer Science AB Curricular Requirements

Web Programming Spring 2010

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

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

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

CS 241 Data Organization using C

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

ECE Object-Oriented Programming using C++ and Java

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

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

CS 0449 Intro to Systems Software Fall Term: 2181

CS Computer Science I

ESET 369 Embedded Systems Software, Fall 2017

Course and Contact Information. Course Description. Course Objectives

EECE.2160: ECE Application Programming Spring 2017

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

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

COSE212: Programming Languages. Lecture 0 Course Overview

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015

Announcements. 1. Forms to return today after class:

EECE.2160: ECE Application Programming Spring 2019

Computer Science II Data Structures

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

Welcome to CSL 201 Data Structures

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

CPSC 5157G Computer Networks

CSCE 206: Structured Programming in C

Linear Algebra Math 203 section 003 Fall 2018

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

Computer Programming II C++ (830)

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

Introduction to UNIX

Cleveland State University

Instructor. Course Description. Learning Outcomes

WAYLAND BAPTIST UNIVERSITY VIRTUAL CAMPUS SCHOOL OF BUSINESS SYLLABUS

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

CSCO 120 CCNA Internetworking Fundamentals Spring 2018

CS 240 Fall 2015 Section 004. Alvin Chao, Professor

Object Oriented Programming

ICS111 Introduction to Computer Science

Computer Science 210: Data Structures

Object Oriented Programming Using C++

Welcome to CompSci 201

Course and Contact Information. Course Description. Course Objectives

CSCO 121 CCNA Routing and Switching Essentials Spring 2018

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

Digital Forensics ITP 375 (3 Units)

CISC 3115 TY3. C28a: Set. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 11/29/2018 CUNY Brooklyn College

San José State University College of Science/Department of Computer Science CS 152, Programming Language Paradigms, Section 03/04, 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

Course and Contact Information. Catalog Description. Course Objectives

Sprint 2017, Sul Ross State University

Business Information System Analysis and Design Fall 2017

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

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

CoSci 487 SYLLABUS Introduction to Networks

CSC 1052 Algorithms & Data Structures II: Introduction

CSCE 441 Computer Graphics Fall 2018

GET 433 Course Syllabus Spring 2017

Transcription:

CISC 3130 Data Structures Fall 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 Class meeting hours: Wednesdays 6:30-10:00 PM in room 234 NE Office hour and room: Wednesdays 5:15-6:15PM in room 2109N (the CS dept. office) Required Textbook Data Structures & Algorithms in JAVA by Goodrich, Tomassia, and Goldwasser 6th edition. ISBN: 978-1-118-77133-4. Prerequisite CISC 3115 - Advanced Programming Techniques Information most needed from CISC 3115: 1. The difference between primitive types and reference types. 2. What actually happens when you declare a reference to an object. 3. What new actually does. 4. Recursion 5. Classes- including: - accessors/mutators - Constructors - method overloading and overriding and the difference between those. - In particular, overriding the tostring() and equals() methods. - The difference between = = and.equals() - Inheritences and polymorphism. 6. Interfaces - How to define your own interface - How to write a class that implements an interface (both your own and built in ones)

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 Java collections 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 Fall 2018 Semester Sunday, September 2 : Last day to add a course. Monday, September 3: College Closed. Wednesday, September 5: Conversion Day - Monday Schedule (We will not meet :( ) Monday-Tuesday September 10-11 : No classes scheduled. Sunday, September 16 : Last day to drop a course without a grade. Tuesday-Wednesday September 18-19: No classes scheduled. Monday October 8 : College closed. Tuesday-Wednesday October 11-12: No classes scheduled. Tuesday, November 6 : Last day to withdraw from a course with a W (non-penalty) grade Thursday - Friday November 22-23 : College closed.

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 Wednesday October 17. The second exam will be held on Wednesday November 28. The final exam (not tentative) will be held on Wednesday December 19, 2018 from 6-8PM (NOT 6:30PM!!), Room TBA. 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. Please don t email.class files just code. Homework must be emailed to the homework email address, with the subject line:

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, with 1 point deducted for each week late. Topics List 1. Review of CISC 3115. 2. A rational number class and how generics work. 3. What the Java Collections hierarchy is. 4. The built-in ArrayList class and its methods. 5. The Iterator and Iterable interfaces; iterators for the ArrayList class. 6. Creating our own MyList interface. 7. Implementing our own MyArrayList class that implements the MyList interface. 5. Algorithm Analysis and Big Oh Notation. 6. The built-in LinkedList class and its methods. - why for LinkedLists iterators are essential. 7. Implementing our own MyLinkedList class - A ListNode class. - how to link these nodes into a linked list structure. - how to write methods to insert, remove, and print all nodes in a linked list. - doubly linked lists and the full MyLinkedList class. 8. A different approach for Lists -- Abstract classes. 9. Stack and Queue interfaces - Specifying Stack and Queue interfaces and implementing our own classes that implement them. 10. Using the built-in Deque interface and its associated implementation classes. 11. Using the built-in PriorityQueue class and its methods. 12. Implementing a priority queue. -what a minimum heap is and how to implement it. - how to implement the methods insert() and removemax(). 13. Sorting algorithms and their complexities 14. A MySet interface and the HashSet and TreeSet classes. 15. A MyMap interface and the HashMap and TreeMap classes. 16. Implementing maps and sets - Binary search trees - Hash Tables. 16. Graphs and Graph traversals.