How To Teach C++ Data Structure Programming



Similar documents
Department of Electrical and Computer Engineering. EEL 3160 Embedded C++ and Data Structures. Tuesday & Thursday 3:00 5:00 pm

BCS2B02: OOP Concepts and Data Structures Using C++

BUS Computer Concepts and Applications for Business Fall 2012

Syllabus Introduction to C++ Programming and Numerical Analysis Spring 2016

CEC225 COURSE COMPACT

Foundations of Programming

CS 300 Data Structures Syllabus - Fall 2014

Sample Syllabus (C++) CSCI 1301 Introduction to Programming Principles

Canisius College Computer Science Department Computer Programming for Science CSC107 & CSC107L Fall 2014

Syllabus for Accounting 300 Applied Managerial Accounting California State University Channel Islands Fall 2004

PLV Goldstein 315, Tuesdays and Thursdays, 6:00PM-7:50PM. Tuesdays and Thursdays, 4:00PM-5:30PM and 7:50PM 9:30PM at PLV G320

CS 649 Database Management Systems. Fall 2011

Computer Science 1015F ~ 2010 ~ Notes to Students

CS 425 Software Engineering. Course Syllabus

Austin Community College Marketing Research Marketing Fall 2009 Distance Learning

Syllabus for CS 134 Java Programming

WORKSPACE WEB DEVELOPMENT & OUTSOURCING TRAINING CENTER

MSIS 630 Project and Change Management (Fall 2014) Course Syllabus

Fundamentals of Computer Programming CS 101 (3 Units)

CMSC Fundamentals of Computer Programming II (C++)

CS 1361-D10: Computer Science I

Experimental Psychology PSY 3017, CRN Fall 2011

02-201: Programming for Scientists

IS Management Information Systems

Part A of the Syllabus

INFO 2130 Introduction to Business Computing Fall 2014

GET 114 Computer Programming Course Outline. Contact: Office Hours: TBD (or by appointment)

Academic Calendars. Term I (20081) Term II (20082) Term III (20083) Weekend College. International Student Admission Deadlines

Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459)

University-Wide Academic Calendar

University of Texas at San Antonio English 2413: Technical Writing Fall 2011

Brazosport College Syllabus for PSYC 2301 General Psychology

KIN 104 FITNESS AND WELLNESS ONLINE LECTURE Summer 2016

Biology 360 Genetics Lecture Syllabus and Schedule, Fall 2012 Tentative

Differential Equations Department of Mathematics College of Southern Nevada MATH 285 Section 2001 Fall 2015 TR 9:30 AM-10:50 AM Cheyenne S 134

Fall 2015 GES 4120/5120 Internet GIS

San José State University CS160, Software Engineering, Sections 1, 2, and 4, Fall, 2015

University-Wide Academic Calendar

ISQS 3358 BUSINESS INTELLIGENCE FALL 2014

Page 1 of 5

Precalculus Algebra Online Course Syllabus

CS 425 Software Engineering. Course Syllabus

CS 425 Software Engineering

COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida

Investment Management Course

University of South Florida Sarasota-Manatee Course Syllabus Forensic Accounting and Fraud Examination ACG 4931 Fall 2015

University-Wide Academic Calendar

Austin Community College Retail Buying Business Management Fall 2009 Distance Learning

El Dorado Union High School District Educational Services

Lake-Sumter Community College Course Syllabus. STA 2023 Course Title: Elementary Statistics I. Contact Information: Office Hours:

Programming Languages

General Psychology. Course Syllabus

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department. COURSE: CST2403 C++ Programming Part 1 ( 4 hours, 3 credits )

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

Some programming experience in a high-level structured programming language is recommended.

Major Topics Covered in the Course

COLLIN COLLEGE COURSE SYLLABUS

Accounting : Accounting Information Systems and Controls. Fall 2015 COLLEGE OF BUSINESS AND INNOVATION

Intro. to Data Visualization Spring 2016

CS135 Computer Science I Spring 2015

DATA STRUCTURES USING C

Course Syllabus. COSC 1437 Programming Fundamentals II. Revision Date: August 21, 2013

Course Syllabus COURSE TITLE. Intro to Criminal Justice COURSE NUMBER CCJ 1020 PREREQUISITES. none CREDIT HOURS 3.0 CONTACT HOURS.

Truman College-Mathematics Department Math 125-CD: Introductory Statistics Course Syllabus Fall 2012

165 17% C: points Attendance 35 4% D: Total % F: 600 & below

MIS Systems Analysis & Design

Statistical Methods Online Course Syllabus

Industrial/Organizational Psychology (PCO 4930)

Technology and Online Computer Access Requirements: Lake-Sumter State College Course Syllabus

Digital Communication Southwest College

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

LaGuardia Community College City University of New York Social Science Department General Psychology: SSY

Finance 471: DERIVATIVE SECURITIES Fall 2015 Prof. Liang Ma University of South Carolina, Moore School of Business

IST359 INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

THE UNIVERSITY OF NORTH CAROLINA AT GREENSBORO Joseph M. Bryan School of Business and Economics Department of Business Administration

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

Syllabus. Construction Engineering Design

CS A250 (CRN ) C++ Programming Language 2. Syllabus Fall 2015

COURSE SYLLABUS. Instructor Information:

CSCD18: Computer Graphics

Introduction to Business Course Syllabus. Dr. Michelle Choate Office # C221 Phone: Mobile Office:

COURSE: PSYC 1101 (11) Introduction to Psychology TIME AND DAYS: Tuesdays & Thursdays; 1:00 2:15 pm CLASSROOM: Science Center 1405 (and computer lab)

BMI 540: Computer Science with Java Programming Oregon Health & Science University

Belk College of Business Administration, University of North Carolina at Charlotte. INFO : BUSINESS ANALYTICS Fall 2015

Holidays Faculty Deadlines Financial Aid Fall 2014: Classes Begin: August 25, 2014 August 25 - December 13, 2014

Java Software Structures

Math 103, College Algebra Spring 2016 Syllabus MWF Day Classes MWTh Day Classes

Dr. Stanny EXP 3082L Fall 2003 EXPERIMENTAL PSYCHOLOGY LABORATORY. Office Hours For Dr. Stanny: 9:00 AM - 11:30 AM Tuesday, Wednesday, & Thursday

CENTRAL TEXAS COLLEGE ITSE 2459 ADVANCED COMPUTER PROGRAMMING C# Semester Hours Credit: 4 INSTRUCTOR: OFFICE HOURS:

ORANGE COUNTY COMMUNITY COLLEGE FINAL as of MARCH 10, 2015 ACADEMIC YEAR CALENDAR FALL SEMESTER 2015

Software Development Foundations CPSC Spring 2014 Syllabus

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

Transcription:

UTSA EE 3223 - C++ Data Structures Syllabus Fall 2015 Part A - Course Outline Catalog Description: 3 hours credit. Review of C/C++ non-object oriented programming concepts. Object-oriented programming including data abstraction, inheritance, operator overloading and polymorphism. Application of OOP to study various data structures including stacks, queues, linked lists, trees and binary trees. Instructor: Ram Krishnan (http://engineering.utsa.edu/~krishnan/) Assistant Professor University of Texas at San Antonio Lecture time: Tuesdays and Thursdays, 4pm-5:15pm @ AET 0.212 Textbook: Programming: Principles and Practice Using C++ by Bjarne Stroustrup, Addison- Wesley Professional, ISBN-10: 0321543726 Prerequisites: CS 2073, EE 3463 Major Prerequisites by Topic: C Programming, microprocessor programming Course Objectives: The objectives of the course are: 1. To learn Object Oriented Programming through C++ 2. To apply development tools and human interfaces to software systems using a development environment 3. To introduce algorithms and data structures for application in engineering software problems 4. To provide training in software algorithmic skills and to help students learn software system development skills Overall, it is expected that the student will learn the skills, develop the motivation, and understand the effort needed to successfully develop engineering-oriented software.

Relationship to EE Department Objectives and Outcomes: The course objectives primarily address the EE department program outcomes: (c) Ability to design a system, component, or process to meet desired needs. (k) Ability to use the techniques, skills and modern engineering tools necessary for engineering practice. Topics: 1. C++ Programming Language Overview 2. Object Oriented Programming (OOP) concepts such as Data Abstraction, Encapsulation, Inheritance, etc. 3. C++ constructs for OOP 4. Data Structures using C++ a. Elementary data structures: Lists, Stacks, Queues, etc. b. Advanced data structures: Binary search trees, Hashing, etc. c. Heaps, graphs, and possibly more advanced topics (depending on time) Evaluation Methods: 1. Exams (2) 20% + 20% 2. Final 20% 3. Assignments 20% 4. Computer programming project 20% Performance Criteria: Course objectives 1 through 4 will be evaluated using evaluation methods [1-4] Course Content: Engineering Science: 2 credits (67%) Engineering Design: 1 credits (33%) Class/Laboratory Schedule: 2 hours and 30 minutes of lecture per week. 50 mins of recitation per week. Coordinator: Ram Krishnan Assistant Professor of Electrical Engineering

Part B General Course Information and Policies Instructor: Ram Krishnan (http://engineering.utsa.edu/~krishnan/) Assistant Professor University of Texas at San Antonio Email: ram.krishnan@utsa.edu Teaching Assistant: Name: Wenjun Wang Email: wenjunwang924@yahoo.com Recitation: Wednesdays 3-3:50pm at MH 2.02.20 Course website: http://engineering.utsa.edu/~krishnan/ee3223.html Slides and assignments for this course will be distributed through the website stated above and Blackboard. Textbook: Programming: Principles and Practice Using C++ by Bjarne Stroustrup, Publisher: Addison- Wesley Professional; 1 st edition, December 25, 2008 (ISBN-10: 0321543726, ISBN-13: 978-0321543721) Reference Textbooks: 1. C++ Primer Plus, Fifth/Sixth Edition, Stephen Prata, ISBN: 9780672326974 2. The C++ Programming Language by Bjarne Stroustrup 3. Data Structures and Algorithms by Aho, A., Hopcroft, J., and Ullman, J. 4. Internet Resources Grading: A letter grade will be determined based on the nature of students course performance curve. Attendance: No penalties will be incurred for absences during regular class hours. However, it is your responsibility to talk to your classmates and keep abreast of topics covered, announcements and assignments given during missed classes. This is a fun course! It s hands on. Try your level best to attend each lecture! Late Submission Policy for Assignments: Each assignment is due at a pre-specified time. Late submissions may receive 50% credit before the respective solution is released (typically 1 week after the due date). Assignments submitted after the solution is released will receive no credit.

Exam Policy: Exams will be held in-class, closed-book and closed-notes. Exams will have programming component(s). To be fair to all students, there will be no makeup exams. No credit will be given for a missed exam except under extenuating circumstances. Office Hours: Tuesdays 9AM 10:30AM and Thursdays 9AM 10:30AM at BSE 1.518. Course Evaluation: Each student completing this course is highly encouraged to evaluate the course towards the end of the semester. The evaluation is used for 2 major purposes: (1) The instructor strongly takes the feedback into account to improve his teaching and (2) The university utilizes the feedback as one measure to evaluate instructor effectiveness. To encourage students, the instructor offers a 1% extra-credit for completing their course evaluation. Counseling Services, Student Code of Conduct, Scholastic Dishonesty, etc.: Please visit this webpage: http://utsa.edu/syllabus. Scholastic dishonesty will be taken very seriously. Tentative Schedule: Please take a look at the Fall 2015 Academic Calendar. Part I: C++ Programming Basics Roughly 10 lectures Expected date of Exam 1: 09/22 1 Aug 18 Syllabus overview 2 Aug 20 Compiling and linking a C++ program 3 Aug 25 C++ data types, variables, basic programming constructs such as if-else, for/while loop, case, etc. 4 Aug 27 Intro to pointers 5 Sep 01 Arrays, pointers and arrays, intro to functions 6 Sep 03 Creating & using libraries, functions: pass by value vs pass by reference 7 Sep 08 Arrays and functions, pointer arithmetic 8 Sep 10 Intro to dynamic memory allocation 9 Sep 15 Vectors and implementing Vector-like features using dynamic memory management (dynamic arrays) 10 Sep 17 Exam 1 Review 11 Sep 22 Exam 1

Part II: Designing Abstract Data Types in C++ and Basic Data Structures Roughly 9 lectures Expected date of Exam 2: 10/22 12 Sep 24 Abstract Data Types (ADT) 13 Sep 29 C++ features that facilitate ADT: Class, constructors and destructors 14 Oct 01 List ADT using static array 15 Oct 06 List ADT using dynamic array 16 Oct 08 Singly Linked List 17 Oct 13 Doubly Linked List 18 Oct 15 Stacks and Queues 19 Oct 20 C++ features that facilitate ADT: copy constructors, etc. 20 Oct 22 Exam 2 Review (Instructor on travel) 21 Oct 27 Exam 2 Part III: Advanced Data Structures Roughly 9 lectures Final Exam: 12/07, 3:15 PM to 5:45 PM Expected Project deadline: 12/05 22 Oct 29 C++ features that facilitate ADT: operator overloading, copy constructors, etc. 23 Nov 03 Misc C++ features: Const keyword, this pointer, reference variables 24 Nov 05 Binary Search Tree (BST) 25 Nov 10 BST Traversal (preorder, inorder, postorder) Overloading << operator 26 Nov 12 BST balancing 27 Nov 17 Open Hashing 28 Nov 19 Closed Hashing 29 Nov 24 Graphs Nov 26 Thanksgiving recess (classes do not meet) 30 Dec 01 Final Review Dec 07 Final Exam (3:15 PM to 5:45 PM) Dec 15 Grades due by 2pm