Syllabus CS 301: Data Structures Spring 2015

Similar documents
Syllabus CS 430 Introduction to Computer Security Winter 2016

CS 111: Programming Fundamentals II

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

Cleveland State University

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

CS 241 Data Organization using C

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

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

CMSC 341. Shawn Lupoli (substituting for Nilanjan Banerjee) UMBC CMSC 341 Intro 1

CSC 210 COMPUTER SCIENCE II

CS 240 Fall 2015 Section 004. Alvin Chao, Professor

Computer Science Department

CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus

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

CMSC 132: Object-Oriented Programming II. Administrivia

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

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2)

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

COLLEGE OF THE DESERT

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

CSE 336. Introduction to Programming. for Electronic Commerce. Why You Need CSE336

Central Washington University Department of Computer Science Course Syllabus

COMP-202A: Introduction to Computing 1

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

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

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

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

Data Structures and Algorithms

CMPE 180A Data Structures and Algorithms in C++

X

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

San Jose State University - Department of Computer Science

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

CMPE 152 Compiler Design

CSC 172 Data Structures and Algorithms. Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium

COMP-202C: Foundations of Programming

CS 241 Data Organization. August 21, 2018

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

CPSC 2380 Data Structures and Algorithms

Object-Oriented Programming for Managers

Course and Contact Information. Course Description. Course Objectives

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

Data Structures and Algorithms

COMP-202A: Introduction to Computing 1

3D Graphics Programming Mira Costa High School - Class Syllabus,

San José State University Department of Computer Science CS 166 / SE 166, Information Security, Section 4, spring, 2017

Cleveland State University

COMP Foundations of Programming

1. General Information Course Title: CSCI-605 Advanced Object-Oriented Programming Concepts Instructor: Hans-Peter Bischof Office: Telephone:

During the first 2 weeks of class, all students in the course will take an in-lab programming exam. This is the Exam in Programming Proficiency.

CS ) PROGRAMMING ASSIGNMENT 11:00 PM 11:00 PM

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

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

Advisory: Students should have already taken MICROCOMPUTER APPLICATIONS II - 431

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

Outline. Computer Science 331. Course Information. Assessment. Contact Information Assessment. Introduction to CPSC 331

CIS 120. Introduction to Programming

EE3315 Internet Technology EE3315 Internet Technology Overview Slide 1

COMP Foundations of Programming

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

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

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

CS 206 Introduction to Computer Science II

Announcements. 1. Forms to return today after class:

New Undergraduate Course Proposal Form

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

Data Structures and OO Development II

MCOM 6336 Digital Media Spring 2014

ITP489 In-Memory DBMS for Real Time Analytics

CS120 Computer Science I. Instructor: Jia Song

CASPER COLLEGE COURSE SYLLABUS ELTR 2920, Section 01 Small Computer Repair Techniques. Lecture Hours: 2 Lab Hours: 2 Credit Hours: 3

CMSC Introduction to Database Systems

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

Quantitative Finance COURSE NUMBER: 22:839:615 COURSE TITLE: Special Topics Oriented Programming 2

3. When you process a largest recent earthquake query, you should print out:

CSE 332: Data Structures. Spring 2016 Richard Anderson Lecture 1

VE281 Data Structures and Algorithms. Introduction and Asymptotic Algorithm Analysis

Course and Contact Information. Course Description. Course Objectives

Real-Time Operating Systems M. Course Syllabus, Spring 2013

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

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

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

Outline. Logistics. Logistics. Principles of Software (CSCI 2600) Spring Logistics csci2600/

ESET 369 Embedded Systems Software, Fall 2017

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

CPSC 4600 Biometrics and Cryptography Fall 2013, Section 0

ISATI 231: Windows Client (4 credits) Spring 2018 Mon, Tue, Wed, Thu, 13:10-14:40, MTB 105

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

IS Spring 2018 Database Design, Management and Applications

Oklahoma State University Oklahoma City ITD 1113: Windows Expert User Syllabus Fall, 2014

The University of Jordan. Accreditation & Quality Assurance Center. COURSE Syllabus

CIS* Programming

CSCI 201L Syllabus Principles of Software Development Spring 2018

Credit: The lecture slides are created based on previous lecture slides by Dan Zingaro.

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

(Movement - Synthesis) Improve existing programming skills by developing much larger and more complex programs than in previous classes.

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

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

CS 235AM, Mobile Application Development: Android Spring 2016

CS/SE 153 Concepts of Compiler Design

Transcription:

Syllabus CS 301: Data Structures Spring 2015 Meeting Times Instructor Graders Text Lect: 12:00-12:50 M, Tu, Wed, HB 116 Labs: 12:00-12:50 Th, HB 203 Dr. Razvan Andonie, HB 219-B, Office hours Projects 1-3: Brandon Edwards, edwardsbra@cwu.edu Projects 4-5: Nathan Bloom, bloomn@cwu.edu William J. Collins Data Structures and The Java Collections Framework, Wiley, 2011. Objectives This course explores data structures, algorithms for manipulating them, and the practical problems of implementing those structures in real programming languages and environments. Attention is paid to the analysis of algorithms to characterize their worst and average case requirements for running time and memory. Perhaps more than any other course, CS 301 should expand the students! tool box of basic techniques for manipulating data at both the conceptual and the concrete level. At the conceptual level, the student will see a broad selection of standard practices and approaches used in program design. At the concrete level, the student will begin what should be a career-long practice of accumulating useful, reusable code units. The basic organization of this course will proceed through the classic data structures and Java-based containers, exploring the use and implementation of each in turn. Motivating problems will be drawn from a variety of application areas. One of the distinctive features of this course is its emphasis on the Java Collections Framework, part of the java.util package. The collection classes implement most of the data structures studied, such as resizable array class, a linked-list class, a balanced binary-search-tree class, and a hash-map class. Learning Outcomes On completion of this course, the student will have: Applied complexity measures to basic algorithms. The student will be able to give a general description of how these complexity measures are obtained. A basic understanding of an abstract data type. The student will be able to demonstrate the association between ADT concepts and basic Java constructs. Applied ADT, both user defined and from the Java Collections Framework, in various applications. Grading

Exams (2-20% each) 40% Lab Projects 60% Grade Distribution 95-100 A 90-94 A- 87-89 B+ 83-86 B 80-82 B- 77-79 C+ 73-76 C 70-72 C- 67-69 D+ 63-66 D 60-62 D- 0-59 F If you must miss an exam, contact your instructor prior to the exam to schedule a time to make it up. Late submission of assignments is generally not accepted. No partial credit for late assignments will be offered. Lectures, Projects, and Software The slides for lectures and the lab projects can be found in the shared directory on Neve. Be prepared to spend about 10 hours for each project. Available in Hebeler Labs are J2SE Development Kit (JDK) and NetBeans IDE from Sun Microsystems. NetBeans is an open source ntegrated development environment (IDE) for writing, compiling, testing, and debugging J2SE and J2EE applications. Using the Java software at home: Download the JDK with Netbeans! (Java SE Development Kit and NetBeans IDE Cobundle for Windows). Resources Book Resources from the author. (source code from the text, applets, Errata, lab experiments). The Source for Java Technology: jguru, Code Conventions for the JavaTM Programming Language, Training and Tutorials, NetBeans IDE Quick Start Guide and Video Tour, Java!s Collections. Course Schedule Date Topic Readings 3/31 Introduction Syllabus 4/1 Introduction to Java Ch. 0 4/6 Object-Oriented Concepts Ch. 1 4/7 Additional Features of Java Ch. 2

4/8 Additional Features of Java Ch. 2 4/13 Analysis of Algorithms Ch. 3 4/14 Analysis of Algorithms Ch. 3 4/15 4/20 4/21 4/22 4/27 Analysis of Algorithms, HW1 (due next class) Analysis of Algorithms - Exercises The Java Collections Framework Faculty Development Day / Study Day for Students The Java Collections Framework Ch. 3 Ch. 3 Ch. 4 No classes Ch. 4 4/28 Recursion Ch. 5 4/29 Recursion Ch. 5 5/4 Midterm Exam (closed book) Ch. 1-5 5/5 Array-Based Lists Ch. 6 5/6 Array-Based Lists Ch. 6 5/11 Linked Lists Ch. 7 5/12 Linked Lists Ch. 7 5/13 Linked Lists Ch. 7 5/18 Linked Lists Ch. 7 5/19 Stacks Ch. 8 5/20 Stacks: Postfixed and Prefixed Notations Ch. 8 5/25 Memorial Day No classes 5/26 Queues: Simulation Application Ch. 8 5/27 Binary Trees Ch. 9 6/1 Binary Trees Ch. 9 6/2 Methods of Mathematical Proofs Appendix 2.5 and Methods of Proof 6/3 Review Ch. 1-9

6/8 Final Exam (closed book): noon! 1:30 Ch. 1-9 Laboratory Schedule Date Topic Item Due 4/2 Introduce Project 0 (not graded) 4/9 Introduce Project 1 Project 0 due at the beginning 4/16 Project 1 4/23 Introduce Project 2. Read: http://netbeans.org/kb/docs /java/junit-intro.html Project 1 due at the beginning 4/30 Introduce Project 3 Project 2 due at the beginning 5/7 Project 3 5/14 Introduce Project 4 5/21 Introduce Project 5 5/28 Project 5 Project 3 due at the beginning Project 4 due at the beginning Project 5 due at the end of this class 6/4 Discuss Project Honor Code: All work turned in for credit, including exams and all components of the project, are to be the work of the student whose name is on the exam or project. For all project components, the student can receive assistance from individuals other than the instructor only to ascertain the cause of errors. Thus you can get help if you need it to figure out why something doesn't work. You just can't get help from anyone, other than the instructor or TA, to figure out how to make something work. All solutions turned in for credit are to be your individual work and should demonstrate your problem solving skills, not someone else's. Help each other understand and debug the programming assignments. However, you should write the code for your programs yourself. Writing it yourself is the only way you will learn. Since everyone is writing their own code, no two programs should be the same or so similar that I could convert one to the other by a simple mechanical transformation (e.g. changing variable names and comments). I consider this plagiarism and a violation of academic code. The following text should appear on all assignments:!i pledge that I have neither given nor received help from anyone other than the instructor for all program components included here.! First violation: Students must meet with the instructor. In most cases, the grade will be split between the authors of the copied programs. Second violation: Students will receive no credit for the assignment, an incident letter will be placed on file in the Computer Science Department, and the matter referred to the Computer Science Department Chair. Class Attendance: Class attendance is expected and recorded. ADA Statement: Students with disabilities who wish to set up academic adjustment in this class should give me a copy of their "Confirmation of Eligibility for Academic Adjustment" from the Disability Support Services Office as soon as possible so we can discuss how the approved adjustment will be implemented in this class. Students without this form should contact the Disability Support Services Office, Buillon 205 or dssrecept@cwu.edu or 963-2171.

Caveat: The schedule and procedures for this course are subject to change. It is the student's responsibility to learn of and adjust to changes.