Data Structures and OO Development II

Similar documents
Data Structures and Algorithms

CS 1044: Introduction to Programming in C++

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

CS 241 Data Organization using C

INFS 2150 (Section A) Fall 2018

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007

CS 241 Data Organization. August 21, 2018

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

COSC 115: Introduction to Web Authoring Fall 2013

Object-Oriented Programming for Managers

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

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

CS 375 UNIX System Programming Spring 2014 Syllabus

VE281 Data Structures and Algorithms. Introduction and Asymptotic Algorithm Analysis

ESET 369 Embedded Systems Software, Fall 2017

CS 3270 Mobile Development for Android Syllabus

Course and Contact Information. Course Description. Course Objectives

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

CS 3030 Scripting Languages Syllabus

EECE.2160: ECE Application Programming Spring 2017

CS503 Advanced Programming I CS305 Computer Algorithms I

Database Security MET CS 674 On-Campus/Blended

Advanced Relational Database Management MISM Course S A3 Spring 2019 Carnegie Mellon University

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

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

Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Fall 2012

Advanced Relational Database Management MISM Course F A Fall 2017 Carnegie Mellon University

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

Computer Science Department

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

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

COSC 115A: Introduction to Web Authoring Fall 2014

ITSC 1319 INTERNET/WEB PAGE DEVELOPMENT SYLLABUS

Introduction to Computers & Their Use

Web Programming Fall 2011

Syllabus for HPE 021 Advanced Golf and Fitness 1 Credit Hour Fall 2014

X

CS535: Interactive Computer Graphics

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

ESET 369 Embedded Systems Software, Spring 2018

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

CS 0449 Intro to Systems Software Fall Term: 2181

WAYLAND BAPTIST UNIVERSITY VIRTUAL CAMPUS SCHOOL OF BUSINESS SYLLABUS

IT 341 Fall 2017 Syllabus. Department of Information Sciences and Technology Volgenau School of Engineering George Mason University

CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming. Summer 2009

Syllabus Revised 08/21/17

San Jose State University - Department of Computer Science

CIS 3308 Web Application Programming Syllabus

Linear Algebra Math 203 section 003 Fall 2018

COLLEGE OF THE DESERT

Introduction to UNIX

ECE573 Introduction to Compilers & Translators

Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Spring 2015

Syllabus for HPE 021 Advanced Golf and Fitness 1 Credit Hour Spring 2016

CIS 302 Relational Database Systems

CSc 2310 Principles of Programming (Java) Jyoti Islam

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

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

ESET 349 Microcontroller Architecture, Fall 2018

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

INFSCI 1017 Implementation of Information Systems Spring 2017

CS/SE 153 Concepts of Compiler Design

San José State University Department of Computer Science CS166, Information Security, Section 1, Fall, 2018

Syllabus Honors Java Programming 1 & 2

Marshall University MTH 100 Syllabus

Instructor: Anna Miller

Object Oriented Programming Using C++

CS 4230 Java Application Development Syllabus

CS 4230 Java Application Development Syllabus

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

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ADVANCED DATABASE MANAGEMENT SYSTEMS CSIT 2550

Syllabus. ICS103: Computer Programming in C 2017 / 2018 First Semester (Term 171) INSTRUCTOR Office Phone Address Office Hours

CSE 131B Compiler Construction II

Web Programming Spring 2010

CS 3030 Scripting Languages Syllabus

Advanced Programming CMPS 109

CS 3230 Object Oriented UI Development With Java Syllabus

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

CIS SP Microcomputer Operating Systems Course Syllabus

Syllabus CS 301: Data Structures Spring 2015

MORGAN STATE UNIVERSITY DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING COURSE SYLLABUS FALL, 2015

ITSY Information Technology Security Course Syllabus Spring 2018

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

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

VIS II: Design Communication Graphic Design Basics, Photoshop and InDesign Spring 2018

Developing Web Applications and Services Course Syllabus Fall 2015

Oklahoma State University Institute of Technology Online Common Syllabus Spring 2019

CSE 167: Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

COMP 401 COURSE OVERVIEW

ISM 324: Information Systems Security Spring 2014

BRAZOSPORT COLLEGE LAKE JACKSON, TEXAS SYLLABUS. ITNW 2313: NETWORKING HARDWARE Online Course Version COMPUTER TECHNOLOGY DEPARTMENT

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

Beijing Jiaotong University CS-23: C++ Programming Summer, 2019 Course Syllabus

CMPS 182: Introduction to Database Management Systems. Instructor: David Martin TA: Avi Kaushik. Syllabus

Updated: 2/14/2017 Page 1 of 6

Syllabus Course: MIS Foundation of Information Systems Fall Semester, Credit Hours

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS HPC INTERNETWORKING & GRID TECHNOLOGY HPC 1020

EECE.2160: ECE Application Programming Spring 2019

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

Transcription:

CS 2606 1 Long House Ancestral Puebloan, Mesa Verde

Instructor and Course Information 2 William D McQuain Email: Office: Office Hours: wmcquain@cs.vt.edu 631 McBryde Hall see course website CS 2606 Design and implementation of data structures, intermediate software engineering design principles, and object-oriented programming skills. Emphasis on algorithm analysis, design patterns, testing, debugging, and organizing and managing larger programs. Topics include sorting, searching, file processing, indexing, hashing, algorithm analysis, and advanced tree structures.

Course TAs Song Huang Email: huangs@vt.edu Office: TBA Office Hours: TBA Yifei Ma Email: yifeima@vt.edu Office: TBA Office Hours: TBA 3

Prerequisites 4 CS 2605 Data Structures and OO Development I All students must have completed the prerequisite with a grade of C or higher (C- is not acceptable). Note: students are expected to have substantial prior proficiency in the C++ programming language, including the design and implementation of object-oriented systems and linear and binary tree data structures using C++ templates. There will be absolutely NO exceptions to these requirements. Note Lying about whether you meet the prerequisites is an Honor Code offense. Students who do so may be charged, at the discretion of the Department of Computer Science.

Text and Recommended References Required: Data Structures and Algorithms in C++, 3rd Edition Adam Drozdek, Brooks/Cole, 2005 ISBN 0-534-49182-0 5 Recommended: CS 2606 Course Notes, Fall 2007 Edition W D McQuain, 2001-2007 (available ONLY at the course website) courses.cs.vt.edu/~cs2606/fall07/

Graded Work 6 Final grades will be based on the average achieved over the following : Item Programming Projects Major (2) Minor (4?) Homework Quizzes Tests (2) Final Exam* Weight 24% 16% 10% 10% 16% 24% Tentative Dates See website See website Frequent Fri Oct 5 and TBA Fri Dec 7, 4:25 6:25 Grade Scale The usual 10-point scale will apply (subject to any curve). A final average of 90% will guarantee an A-, 80% will guarantee a B-, and so forth. * Exam score will replace the midterm score, if it is higher.

Grade Policies 7 Grade Scale The usual 10-point scale will apply (subject to any curve). A final average of 90% will guarantee an A-, 80% will guarantee a B-, and so forth. Curve A grade curve may or may not be employed in this course.the application of a curve is dependent upon class performance on tests, projects and homework. The decision to utilize a curve rests entirely with the course instructor. Statute of Limitations Any questions about the grading of an assignment must be raised with your instructor within two weeks after the graded assignment has been made available to you.

Late Work 8 Late Days for Projects Each student is allotted 6 (six) virtual late vouchers. Each late voucher may be used to "purchase" an extra day (relative to the due date) to turn in a programming project without any penalty. Late submissions of a project will not be evaluated unless the student as enough late vouchers to "purchase" the necessary amount of extra time that was used. Late vouchers will be applied automatically, as needed. Unused late vouchers simply expire at the end of the term; there will be no extra credit for them. Extensions Any request for an extension must be made, preferably by email, at least 24 hours prior to the due date. Reasons must be valid (generally events beyond your control) and documented. Late submissions will not be given any credit if submitted after graded assignments or solutions have been released. Homework Usually, no late submissions will be allowed for homework assignments.

Project Evaluation 9 Evaluation of Correctness, Design and Implementation, and Documentation The correctness of operation of your programming projects will be evaluated by executing your solution with test data constructed by the course staff. While some test data will be provided, there is no guarantee that data will cover all cases. Each project will have certain explicit requirements for design and implementation. Your solution will also be evaluated for adherence to those requirements. You are expected to enter CS 2606 with considerable understanding of good software engineering practice, and you are expected to apply those lessons here. That means that you may be penalized for failing to make good decisions, even if there are no explicit guidelines in the specification of a project. You are also expected to incorporate professional internal documentation into your projects. See the Programming Standards page on the course website for some suggestions and samples.

Project Test Requirements 10 Test Environments - All programming assignments submitted are required to compile under g++ version 3.4.4 running on Windows XP or Windows Advanced Server 2003, as installed in the McBryde 116/118 lab. - Unless specified otherwise, programs will only be tested under that environment. - It is the YOUR responsibility to ensure that YOUR programs execute correctly in the appropriate environment; programs that do not will receive substantial deductions. Students developing with another C++ compiler are warned that there are many pitfalls and that they will be given NO compensation for those pitfalls. Compliance with the ISO C++ Standard varies widely among older compilers, especially g++ prior to version 3.2. Your programs WILL be tested with the environment listed above. If it fails to compile, or exhibits incorrect behavior, we don t care that it may compile elsewhere, or appear to run correctly elsewhere.

Sources of Help for This Course 11 General Issues - CS 2606 classmates - CS 2606 Forum online at forum.cs.vt.edu - CS 2606 TAs - CS 2606 Instructors C++ Language Help - CS 2606 Forum - texts from earlier courses - alt.comp.lang.learn.c-c++ - gnu.gcc.help, gnu.g++.help Lecture Instruction Lectures will consist of presentations, applications, problems and solutions interspersed with classroom discussion.

Damage Control 12 Backups Students are responsible for making backup copies of all their work in this (and all) courses. Loss of work due to hard drive failure is NOT an acceptable excuse. Backup copies of files on the same hard drive are not backup copies. Backup copies of files on second hard drives are also risky. Backup copies should be maintained on two separate distinct storage mediums, (e.g., hard drives and Zip disks). Backup copies should be maintained until after the end of the term and students have received their course grade. (The Army lives by triplicate for a reason.) Remember: Computer systems are mechanical devices. Systems fail. Drives die. Bad sectors appear. Network connections break. Plan for it. It is inevitable!

Honor Code 13 An exhaustive list of Honor Code violations would be impossible to present here, but among other things, each of the following is a flagrant violation of the Virginia Tech Honor Code, and violations will be dealt with severely (Honor Court): Working with another student to derive a common program unless group work is explicitly allowed on that assignment. Discussing the details required to solve a programming assignment. You may not share solutions. Copying source code (programs) in whole or in part from someone else. Copying files from another student's disk even though they might be unprotected. It is acceptable to discuss with classmates a programming assignment in a general way, i.e., to discuss the nature of the assignment. In other words, you may discuss with your classmates what your program is required to accomplish but not how to achieve that goal using C++. In no way should the individual statements of a program or the steps leading to the solution of the problem be discussed with or shown to anyone except those people cited in the following statement.

Honor Code 14 Feel free to discuss the homework assignments and your program source code with the teaching assistants assigned to CS 2606, the instructor, or the free tutors provided by UPE. The discussion of your program source code must be limited to these people. Note that this specifically excludes discussions of your program source code with other students (even if they are not enrolled in CS 2606), or with tutors except for those named above. Privately hired tutors are not an exception to this requirement, nor are athletic or other tutors provided by the University. Copies of all submitted work are retained indefinitely by the Department. Submitted programs are subjected to automated analysis for detection of cheating. If you have any question as to how the Honor Code applies to this class, remember that: Any work done in this class must be done on an individual basis. Credit will be given only for work done entirely on an individual basis. Do not make any assumptions as to who can provide help on a programming assignment. All submitted work is archived. All submitted programs will be subjected to automated cheat analysis. Evidence indicating the violation of the policies stated above will be submitted to the Honor Court. It is much easier to explain a poor grade to parents or a potential employer than to explain an Honor Court conviction.