Learning Objectives. Prerequisites. Instructor:

Similar documents
Data Structures and Algorithms

ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob

ANCIENT GREEK HISTORY MWF 8:30-9:20 Main 326. Frances B. Titchener Main 310 (435)

THE UNIVERSITY OF SYDNEY Semester 2, Information Sheet for MATH2068/2988 Number Theory and Cryptography

University of Waterloo School of Accountancy. AFM 102: Introductory Management Accounting. Fall Term 2004: Section 4

BUS Computer Concepts and Applications for Business Fall 2012

Course Content Concepts

CS 100: Principles of Computing

Please read this entire syllabus, keep it as reference and is subject to change by the instructor.

CS 101 Computer Science I Fall Instructor Muller. Syllabus

Office Hours: Mon & Fri 10:00-12:00. Course Description

CS Course Missive

INTERNATIONAL STUDENT TIMETABLE BRISBANE CAMPUS

English Policy Statement and Syllabus Fall 2017 MW 10:00 12:00 TT 12:15 1:00 F 9:00 11:00

SPM 5309: SPORT MARKETING Fall 2017 (SEC. 8695; 3 credits)

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

Master's degree students

MKT ADVERTISING. Fall 2016

INTERMEDIATE ALGEBRA Course Syllabus

ACC 380K.4 Course Syllabus

ACC 362 Course Syllabus

CSCI 333 Java Language Programming Fall 2017 INSTRUCTOR INFORMATION COURSE INFORMATION

Office Hours: Day Time Location TR 12:00pm - 2:00pm Main Campus Carl DeSantis Building 5136

Required Materials: The Elements of Design, Third Edition; Poppy Evans & Mark A. Thomas; ISBN GB+ flash/jump drive

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

Design and Creation of Games GAME

CHMB16H3 TECHNIQUES IN ANALYTICAL CHEMISTRY

Department of Anthropology ANTH 1027A/001: Introduction to Linguistics Dr. Olga Kharytonava Course Outline Fall 2017

Office: Colson 228 Office Hours: By appointment

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

BIODIVERSITY: CAUSES, CONSEQUENCES, AND CONSERVATION

Class Tuesdays & Thursdays 12:30-1:45 pm Friday 107. Office Tuesdays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Course Policies and Syllabus BUL3130 The Legal, Ethical, and Social Aspects of Business Syllabus Spring A 2017 ONLINE

PHYSICS 40S - COURSE OUTLINE AND REQUIREMENTS Welcome to Physics 40S for !! Mr. Bryan Doiron

LEGO MINDSTORMS Education EV3 Coding Activities

GACE Computer Science Assessment Test at a Glance

Coding II: Server side web development, databases and analytics ACAD 276 (4 Units)

School of Innovative Technologies and Engineering

International Business BADM 455, Section 2 Spring 2008

CIS Introduction to Digital Forensics 12:30pm--1:50pm, Tuesday/Thursday, SERC 206, Fall 2015

PHILOSOPHY & CULTURE Syllabus

Penn State University - University Park MATH 140 Instructor Syllabus, Calculus with Analytic Geometry I Fall 2010

GEOG Introduction to GIS - Fall 2015

Dr. Zhang Fall 12 Public Speaking 1. Required Text: Hamilton, G. (2010). Public speaking for college and careers (9th Ed.). New York: McGraw- Hill.

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

Math 181, Calculus I

State University of New York at Buffalo INTRODUCTION TO STATISTICS PSC 408 Fall 2015 M,W,F 1-1:50 NSC 210

Getting Started with Deliberate Practice

COSI Meet the Majors Fall 17. Prof. Mitch Cherniack Undergraduate Advising Head (UAH), COSI Fall '17: Instructor COSI 29a

Bergen Community College Division of English Department Of Composition and Literature. Course Syllabus. WRT 206: Memoir and Creative Nonfiction

Social Media Marketing BUS COURSE OUTLINE

Strategic Management (MBA 800-AE) Fall 2010

Theory of Probability

Computer Science 1015F ~ 2016 ~ Notes to Students

CHEM:1070 Sections A, B, and C General Chemistry I (Fall 2017)

Jeff Walker Office location: Science 476C (I have a phone but is preferred) 1 Course Information. 2 Course Description

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

Department of Statistics. STAT399 Statistical Consulting. Semester 2, Unit Outline. Unit Convener: Dr Ayse Bilgin

Course Syllabus. Course Information Course Number/Section OB 6301-MBP

Adler Graduate School

POLITICAL SCIENCE 315 INTERNATIONAL RELATIONS

Shared Leadership in Schools On-line, Fall 2008 Michigan State University

ACCT 3400, BUSN 3400-H01, ECON 3400, FINN COURSE SYLLABUS Internship for Academic Credit Fall 2017

CHEMISTRY 104 FALL Lecture 1: TR 9:30-10:45 a.m. in Chem 1351 Lecture 2: TR 1:00-2:15 p.m. in Chem 1361

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

Foothill College Fall 2014 Math My Way Math 230/235 MTWThF 10:00-11:50 (click on Math My Way tab) Math My Way Instructors:

Page 1 of 8 REQUIRED MATERIALS:

RL17501 Inventing Modern Literature: Dante, Petrarch, Boccaccio and XIV Century Florence 3 credits Spring 2014

Biology 10 - Introduction to the Principles of Biology Spring 2017

FINN FINANCIAL MANAGEMENT Spring 2014

ECE (Fall 2009) Computer Networking Laboratory

MATH Study Skills Workshop

Business 712 Managerial Negotiations Fall 2011 Course Outline. Human Resources and Management Area DeGroote School of Business McMaster University

WSU Five-Year Program Review Self-Study Cover Page

PSYC 620, Section 001: Traineeship in School Psychology Fall 2016

Carolina Course Evaluation Item Bank Last Revised Fall 2009

General Microbiology (BIOL ) Course Syllabus

SYLLABUS. EC 322 Intermediate Macroeconomics Fall 2012

HCI 440: Introduction to User-Centered Design Winter Instructor Ugochi Acholonu, Ph.D. College of Computing & Digital Media, DePaul University

Stochastic Calculus for Finance I (46-944) Spring 2008 Syllabus

Financial Accounting Concepts and Research

STRATEGIC LEADERSHIP PROCESSES

FINANCE 3320 Financial Management Syllabus May-Term 2016 *

HUMAN ANATOMY AND PHYSIOLOGY II

THE UNIVERSITY OF WESTERN ONTARIO. Department of Psychology

CALCULUS III MATH

MARKETING MANAGEMENT II: MARKETING STRATEGY (MKTG 613) Section 007

ME 4495 Computational Heat Transfer and Fluid Flow M,W 4:00 5:15 (Eng 177)

Juniors Spring Presentation

Social Media Journalism J336F Unique ID CMA Fall 2012

MANA 7A97 - STRESS AND WORK. Fall 2016: 6:00-9:00pm Th. 113 Melcher Hall

POFI 1349 Spreadsheets ONLINE COURSE SYLLABUS

GEORGE MASON UNIVERSITY COLLEGE OF EDUCATION AND HUMAN DEVELOPMENT. Education Leadership Program Course Syllabus

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

Visual Journalism J3220 Syllabus

ENV , ENV rev 8/10 Environmental Soil Science Syllabus

MGMT3274 INTERNATONAL BUSINESS PROCESSES AND PROBLEMS

Oklahoma State University Policy and Procedures

Transcription:

1 of 4 8/27/2014 10:59 AM "[T]he challenge remains the same: How can we get the best performance out of the current technology? The design and analysis of data structures lay the fundamental groundwork for a scientific understanding of what computers can do efficiently." (Duane A. Bailey) Learning Objectives By the end of this course, student will be able to do the following. 1. 2. 3. 4. 5. Use an object-oriented programming language and an integrated development environment to solve problems. Describe the abstraction, specification, implementation, and application of commonly used data structures such as lists, stacks, queues, trees, maps, and graphs, and to use these data structures to solve programming problems. Analyze the efficiency and space/time requirements of algorithms - particularly those algorithms used for sorting and searching. Develop skills in algorithm abstraction, specification, design, implementation, and analysis. Use more advanced programming techniques, program development methods, and software testing and verification procedures. Prerequisites All students are expected to have completed, with at least a grade of C, the equivalent of Info 230Programming I for 4 credit hours. The Java programming language will be used, but a student with a strong knowledge of Python or C++ can pick up the necessary Java rapidly. Although these will be reviewed in the context of the Java programming language, it is assumed that students understand the following programming concepts: variables, constants, and declarations; primitive data types and operators; classes and objects; methods, parameters, and return types; conditional and loop control constructs; inheritance and subtyping; console and graphical input and output; file and string processing; iteration and recursion; arrays; and linked lists. Although students will have opportunities to practice and strengthen, the following programming skills are assumed: problem solving; problem abstraction and decomposition; class, method, and algorithm development; and coding, compilation, tracing, and execution of applications and applets. Although these will be reviewed when needed, it is assumed that students have been introduced to the following mathematical concepts: logic, deduction, inductive reasoning (including proof by induction), series and sequences, elementary number theory, counting and enumeration, set theory, recurrence relations, and the basics of trees and graphs. Instructor Instructor: David Housman Office: SC 117, 535-7405

E-mail: Course Home Page: Office Hours: dhousman@goshen.edu http://www.goshen.edu/~dhousman/info330 See Moodle, stop by, or make an appointment If you are having difficulties or just a few questions not resolved during class time, please stop by my office, call me, or email me. I want difficulties to be resolved and questions answered before they become immovable obstacles to your success. Please let me know if you find the course material too difficult or too easy, if the pace of the course is too fast or too slow, if you have suggestions for improving the learning environment, or if the course is not what you expected. We will work out a solution that will make the course much more profitable and enjoyable for you. Resources Class Text Website Software Assignments Exams Extra Credit Classmates Instructor Time Come to NC 12 on MWF 3:00-3:50 p.m and T 8:00-9:15 a.m. Prepare beforehand by reading and solving problems. Bring your text. Engage in the activities and discussion. Ask questions. Share your understanding with others. Take notes on your discoveries. Data Structures and Problem Solving Using Java, 4th edition, by Mark Allen Weiss (ISBN-13: 978-0-321-54140-6). Read carefully. Work on exercises and problems. Write down questions to ask. Visit Moodle and www.goshen.edu/~dhousman/info330. Review lecture notes. Obtain laboratory assignments and other handouts. Download software. View software documentation. Link to a variety of resources. We will use the Java programming language version 7, the DrJava integrated development environment, and code provided with the text. We may explore BlueJ, Netbeans, and/or Eclipse integrated development environments. These are available free from the linked web sites. Apply the concepts and techniques introduced in class and readings. Synthesize and apply the concepts and techniques learned throughout the course. Expect in-class, take-home, and (possibly) oral portions to each exam. Attend Science Speakers, conferences, career services, or other computing related events. Write a half-page discussion of some interesting computing or mathematics aspect of the activity. Obtain extra credit. Discuss lectures, labs, readings, and exercises with other students. Ask them questions and try to answer their questions. Schedule a regular time and place for group study. Review together for written exams. Try pair programming. Listen to his remarks during class. Ask questions during class, office hours, and via phone and email. Be prepared to not receive immediate answers. Answer his questions as he tries to guide you toward your own answers. Schedule sufficiently long periods of study with breaks for other courses, activities, sleep, and so forth. Do not cram for exams. Do not work on programs for too long in a single stretch. Schedule some time for reflection on and synthesis of what you have been learning. 2 of 4 8/27/2014 10:59 AM

3 of 4 8/27/2014 10:59 AM Academic Resource & Writing Center Goshen College wants to help all students be as academically successful as possible. If you have a disability and require accommodations, please contact Lois Martin, the Director of the Academic Resource & Writing Center early in the semester. In order to receive accommodations, documentation concerning your disability must be on file with the Academic Resource & Writing Center, Good Library 112, x7576, lmartin@goshen.edu. All information will be held in the strictest confidence. The Academic Resource & Writing Center offers tutoring and writing assistance for all students. For further information please see http://www.goshen.edu/campuslife/arwc/. Collaboration Learning is often enhanced when students study together; however, learning does not occur when one student simply provides to another student large portions of computer code or written solutions to assignments. Similarly, it is often helpful to make use of a variety of textual resources in addition to the text book; however, learning is not aided by wholesale copying from a textual resource. I encourage beneficial collaboration and discourage detrimental copying with the following policies. Assignments. You may not obtain someone else's solutions or code. You may look at and discuss another student's solutions or code, but you may not create or receive any written record during the discussion. You should give written acknowledgement to people with whom you have had discussions (even if you primarily gave, rather than received information) and to written materials that were helpful. Pair Programming. Pair programming consists of two programmers working side-by-side, collaborating on the same design, algorithm, code, or test. One programmer, the driver, has control of the keyboard/mouse and actively implements the program. The other programmer, the observer, continuously observes the work of the driver to identify tactical (syntactic, spelling, etc.) defects and also thinks strategically about the direction of the work. On demand, the two programmers can brainstorm any challenging problem. Because the two programmers periodically switch roles, they work together as equals to develop software. You may complete programming portions of assignments using the pair programming alternative. To do so, you must (1) be engaged in the pair programming during any time you work on the assignment, (2) include both student names in all source files, and (3) submit all files individually--this last step makes it easier for the instructor to track in Moodle. Exams. You may not use any resources unless a specific exception is stated by the instructor. You may converse about the exam with no one other than the instructor. Penalties. Failure to observe the above rules will result in a penalty ranging from a zero on the assignment, lab, or exam to immediate failure of the course. Any violation of academic integrity will be reported to the Academic Dean. Rewards. Observation of the above rules will help you learn the material well and give you the satisfaction of knowing that you have earned your grade. Grading Your grade will be based upon your performance on assignments (70%), the midterm exam (15%), and the final exam (15%). A semester average of at least 93%, 90%, 87%, 83%, 80%, 77%, 73%, 70%, 67%, and 60% will typically earn a grade of A, A-, B+, B, B-, C+, C, C-, D+, and D, respectively. Some upward or downward adjustment may be made based upon class participation, effort, and progress. In order to pass this

4 of 4 8/27/2014 10:59 AM course the weighted average of your midterm and final exams must be greater than or equal to 60%. The grade you receive for assignments and labs cannot raise your weighted exam grade by more than one letter grade. Due Date Policy. Except in extraordinary circumstances (such as an extended illness or injury, or personal or family crisis), assignments and exams should be submitted by the specified deadline. For most assignments, there will be a resubmission opportunity about one week after the due date. Resubmissions (or late first submissions) will be penalized 30% on the additional points that would have been obtained had the submission been on time. Submission Standards. All work submitted must contain your name and an acknowledgement statement. Files should be placed in the appropriate folder. Written work should be submitted on paper that is standard size (8.5" by 11") and free from ragged edges. Multiple pages should be stapled, paper clipped, or placed in a folder. Work should be typed or written neatly. Resubmissions must include the original graded work in addition to the revisions. Grade Needed for Upper-Level Courses. You must earn a grade of C or better in this course in order to take subsequent computing courses for which this course is a prerequisite. If your grade is lower than C and you want to take upper-level computing courses, you must repeat this course until you attain a grade of C or better. Incomplete Grades. As a general rule, "incomplete" grades are not given in this course. Exceptions may be granted for documented prolonged medical or extenuating circumstances. However, an incomplete grade will not be granted because a student missed assignments, got behind in coursework, or had difficulty keeping up with the pace of the course. It is your responsibility to be current in your coursework and to ask for assistance or tutoring as needed. Roles of Instructor and Student You and I share the responsibility to ensure that tasks and feedback actually facilitate learning and that evaluations are accurate and fair. Based upon my experience and training, I should establish course goals that are important and realistic, assign tasks that should facilitate learning, ensure that necessary resources for your learning are made available, and accept and respond to your assessments of the value of tasks assigned and resources provided. You should ensure that course goals are compatible with your personal goals, make a good-faith effort to complete assigned tasks, utilize available learning resources, and assess the value of tasks assigned and resources provided.

Info 330 Schedule schedule.htm 1 of 2 8/1/2014 10:20 AM Schedule (as of 08/01/2014) This schedule is tentative. Consult Moodle for the most up to date schedule and for assignment details. Typically, assignments must be completed by the evening before the indicated class period. Date Topic Assignments 01. Tue Aug 26 1. Java Basics (Ch 1 & 2) 02. Wed Aug 27 1. Java Basics (Ch 1 & 2) 03. Fri Aug 29 2. Java OOP (Ch 3 & 4) 04. Mon Sep 1 2. Java OOP (Ch 3 & 4) A01 Java Basics 05. Tue Sep 2 2. Java OOP (Ch 3 & 4) 06. Wed Sep 3 2. Java OOP (Ch 3 & 4) 07. Fri Sep 5 3. Algorithm Analysis (Ch 5) 08. Mon Sep 8 3. Algorithm Analysis (Ch 5) A02 Object Oriented Programming 09. Tue Sep 9 3. Collections API (Ch 6) 10. Wed Sep 10 3. Algorithms & Collections 11. Fri Sep 12 4. Recursion (Ch 7.1-3 & 6) 12. Mon Sep 15 4. Recursion (Ch 7.1-3 & 6) A03 Alg Anal & Collection API 13. Tue Sep 16 4. Recursion (Ch 7.1-3 & 6) 14. Wed Sep 17 4. Recursion (Ch 7.1-3 & 6) 15. Fri Sep 19 5. Sorting (Ch 8) 16. Mon Sep 22 5. Sorting (Ch 8) A04 Recursion 17. Tue Sep 23 5. Sorting (Ch 8) 18. Wed Sep 24 5. Sorting (Ch 8) 19. Fri Sep 26 6. Fun Apps (Ch 7.7 & 10) 20. Mon Sep 29 6. Fun Apps (Ch 7.7 & 10) A05 Sorting 21. Tue Sep 30 6. Fun Apps (Ch 7.7 & 10) 22. Wed Oct 1 6. Fun Apps (Ch 7.7 & 10) 23. Fri Oct 3 7. Stacks (Ch 11) 24. Mon Oct 6 7. Stacks (Ch 11) A06 Fun Apps 25. Tue Oct 7 7. Stacks (Ch 11) 26. Wed Oct 8 7. Stacks (Ch 11) 27. Fri Oct 10 7. Midterm Exam Midterm Exam (Topics 1-6) Midterm Break 28. Mon Oct 20 8. Utilities (Ch 12) A07 Stacks 29. Tue Oct 21 8. Utilities (Ch 12) 30. Wed Oct 22 8. Utilities (Ch 12) 31. Fri Oct 24 9. Simulation (Ch 13) 32. Mon Oct 27 9. Simulation (Ch 13) A08 Utilities 33. Tue Oct 28 9. Simulation (Ch 13)

Info 330 Schedule schedule.htm 2 of 2 8/1/2014 10:20 AM 34. Wed Oct 29 9. Simulation (Ch 13) 35. Fri Oct 31 36. Mon Nov 3 37. Tue Nov 4 38. Wed Nov 5 A09 Simulation 39. Fri Nov 7 40. Mon Nov 10 11. Trees (Ch 18) A10 List Implementations 41. Tue Nov 11 11. Trees (Ch 18) 42. Wed Nov 12 11. Trees (Ch 18) 43. Fri Nov 14 11. Trees (Ch 18) 44. Mon Nov 17 12. Binary Search Trees (Ch 19) A11 Trees 45. Tue Nov 18 12. Binary Search Trees (Ch 19) 46. Wed Nov 19 12. Binary Search Trees (Ch 19) 47. Fri Nov 21 12. Binary Search Trees (Ch 19) 48. Mon Nov 24 13. Hash Tables (Ch 20) A12 Binary Search Trees 49. Tue Nov 25 13. Hash Tables (Ch 20) 50. Wed Nov 26 13. Priority Queues (Ch 21) Thanksgiving Break 51. Mon Dec 1 13. Priority Queues (Ch 21) 52. Tue Dec 2 14. Graphs (Ch 14) A13 Algorithms 53. Wed Dec 3 14. Graphs (Ch 14) 54. Fri Dec 5 14. Graphs (Ch 14) 55. Mon Dec 8 Review A14 Graphs Final Exam