BRONX COMMUNITY COLLEGE



BRONX COMMUNITY COLLEGEof the City of New YorkDEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCESYLLABUS:CSI 33 Data Structures2 rec 2 lab 3 credits PREREQUISITE:CSI 32 and CSI 35 and ENG 02 and RLD 02, if requiredTEXT:Data Structures and Algorithms Using Python and C++ , by David M. Reed and John Zelle, Franklin Beedle and Assoc.Goals of the course: To introduce students to working with data structures and algorithms as a way to develop solutions to various computational problems.Objectives: To provide experience to students in using these skills:Analysis of algorithms,Class design, in Python and C++, based on performance requirements,Understanding dynamic structures and their use in resource management, andCorrectly applying the fundamental searching and sorting algorithms.Programming Projects: Students will complete 8-10 programming projects taken from the list of programming projects or comparable projects developed by the instructor.Sections of the textChapter l: Abstraction and Analysis ( ? week)1.2 Functional AbstractionSuggested exercisesp. 33:1-10Suggested projects1.3 Algorithm analysisp. 36:1,3,4,8p.38:9Chapter 2: Data Abstraction (1 week)2.2 Abstract Data Typesp.68:1-102.3 ADTS and Objectsp.71:1,2p.71:1,32.4 An Example ADT: Datasets2.5 An Example ADT: RationalChapter 3: Container Classes (1 week)3.2 Python Listsp.100:1-13p.104:6,103.3 A Sequential Collection: A Deck of Cardsp.101:1,2,5,6,73.4 A Sorted Collection: Hand3.5 Python List Implementation3.6 Python DictionariesChapter 4: Linked Structures and Iterations( 1 ? weeks)4.3 The Python Memory modelp. 148: 1-10p.152: 1, 44.3 A linked Implementation of Listsp. 149: 1, 34.4 Linked Implementation of a List ADTp. 151: 1,24.5 Iterators4.7 Lists vs. ArraysChapter 5: Stacks and Queues (1 week)5.2 Stacksp.181:1-10p. 184:15.3 Queuesp.182:1,2,5,6,75.4 Queue Implementationp.183:1,35.5 An Example Application: Queueing SimulationsChapter 6: Recursion (1 week)6.2 Recursive Definitionsp.212:1-10p.215:5,76.3 Simple Recursive Examplesp.213:1,2,36.4 Analyzing Recursionp. 214:16.5 Sorting6.6 A “Hard” Problem: The Tower of HanoiChapter 7: Trees ( 1? weeks)7.2 Tree Terminologyp.245:1-10p.248:1,3,47.3 An Example Application: Expression Treesp.246:4,7,87.4 Tree Representationsp.247:2,4,67.5 An Application: A Binary Search TreeChapter 8: C++ Introduction for Python (2 weeks)8.2 C++ History and Backgroundp.313:1-12p.316:88.3 Comment, Blocks of Code, Identifiers, and Keywords8.4 Data Types and variable declarationsp.314:1,3,48.5 Include Statements, Namespaces, and Input/Output8.6 Compilingp.315:4,5,68.7 Expressions and Operator Precedence8.8 Decision Statements8.9 Type Conversion8.10 Looping Statements8.11 Arrays8.12 Function Details8.13 Header Files and Inline Functions8.14 Assert Statements and Testing8.15 The Scope and Lifetime of Variables8.16 Common C++ Mistakes by Python ProgrammersChapter 9: C++ Classes ( ? week)9.1 Basic Syntax and Semanticsp.348:1-10p.352:39.2 Stringsp.349:1,3,4,59.3 File Input and Outputp.351:79.4 Operator Overloading9.5 Class Variables and MethodsChapter 10: C++ Dynamic Memory (1 week)10.2 C++ Pointersp.395:1-10p.400:110.3 Dynamic Arraysp.397:6,710.4 Dynamic Memory Classesp.399:3,4,510.5 Dynamic Memory ErrorsChapter 11: C++ Linked Structures (1 week)11.2 A C++ Linked Structure Classp.422:1-5p.424:111.3 A C++ Linked Listp.423:1,3,511.4 C++ Linked Dynamic Memory Errorsp:424:1,2Chapter 12: C++ Templates (? week)12.2 Template Functionsp.440:1-5p.442:512.3 Template Classesp.440:2,5p.442:3Chapter 13: Heaps, Balanced Trees, and Hash Tables (1 week)13.2 Priority Queues and Heapsp.478:1,2,7-10p.483:213.5 Hash Tablesp.479:1,3,5,p.481:1Chapter 15: Algorithm Techniques ( ? week)15.2 Divide and Conquerp.546:1-515.3 Greedy Algorithmp.546:1Academic Integrity?Academic dishonesty (such as plagiarism and cheating) is prohibited at Bronx Community College and is punishable by penalties, including failing grades, dismissal and expulsion. For additional information and the full policy on Academic Integrity, please consult the BCC College Catalog.Accommodations/DisabilitiesBronx Community College respects and welcomes students of all backgrounds and abilities. In the event you encounter any barrier(s) to full participation in this course due to the impact of a disability, please contact the disAbility Services Office as soon as possible this semester.??The disAbility Services specialists will meet with you to discuss the barriers you are experiencing and explain the eligibility process for establishing academic accommodations for this course. You can reach the disAbility Services Office?at: disability.services@bcc.cuny.edu, Loew Hall, Room 211, (718) 289-5874.Fall 2009 for Python/SEP/GLLast updated 01/14/2019 ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download