Math 140: Data Structures and Algorithms

COURSE INFORMATION - Spring 2015
(Additional Docs and Calendar at bsmith/m140/)


Course Description

This course uses the Java programming language to introduce the fundamental concepts of data structures and the algorithms that proceed from them. Includes recursion, object-oriented programming, fundamental data structures (including stacks, queues, linked-lists, hash tables, trees, and graphs), and the basics of algorithm analysis. Examines implementation and analysis of sorting and searching algorithms.

Instructor

Bruce Smith, 421-6700, x5291, room 390d, bsmith [AT] swccd [DOT] edu

Office Hrs

Mon, Tue: 8:00am - 8:50am
Mon: 12:00pm - 12:50pm, or by appointment.

Meeting Times

Lecture: Tue, Thu 12:00 pm - 1:15 pm, Room 394
Lab: Tue, Thu 1:25 pm - 2:40 pm, Room 394

Course Calendar

Calendar

Final Exam

May 26, 2015 (Tue), 10:30 am - 12:30 pm

Class Webpage

Grades, assignments, this document, and additional useful information can be found at http://swccd.blackboard.com (Blackboard)

Course Prerequisite

A grade of "C" or higher in Math 130 (Introduction to Computer Programming) or equivalent.

Textbooks and Materials

Required:   Algorithms (4th Edition)   by Robert Sedgewick ISBN: 978-0321573513.  
We will also reference the supporting website for this book, 4th edition, located at www.cs.princeton.edu/algs4/home/
Use of a USB Flash Drive or some other external storage is encouraged.

Library Reserve

Data Structures and Algorithms in Java, by Goodrich and Tamassia, 3rd ed.
Introduction to Algorithms by Cormen, Leiserson, and Rivest

Student Learning Outcomes

Upon completion of Math 140, the student should be able to 1) describe problem requirements and employ correct programming constructs and syntax to create a working solution, and 2) identify necessary data structures and existing algorithms to be used in solving programming related problems.

Evaluation Policy

40% Quizzes (~7)
20% Projects (~6)
20% Midterm (1)
20% Final Exam [ May 26, 2015 (Tue), 10:30 am - 12:30 pm]
----
100%

Course Objectives

By the end of the course, students should be able to perform the following:
  1. Student will contrast, select, and implement the proper data structure for a given application.
  2. Student will use the principles of program verification to debug, upgrade, and maintain programs.
  3. Student will analyze an algorithm's correctness and efficiency.
  4. Student will describe and illustrate the concept of recursion.
  5. Student will define the divide-and-conquer approach.
  6. Student will describe how recursion can be implemented using a stack.
  7. Student will discuss problems for which backtracking is an appropriate solution.
  8. Student will explain the difference between event-driven programming and command-line programming.
  9. Student will produce and demonstrate software that responds to exceptions raised during execution.
  10. Student will describe how the computer system uses activation records to manage program modules and their data.
  11. Student will describe how the class mechanism supports encapsulation and information hiding.
  12. Student will design and demonstrate the implementation of "is-a" relationships among objects using a class hierarchy and inheritance.
  13. Student will apply polymorphism using interfaces and abstract functions.
  14. Student will describe how iterators access the elements of a container.
  15. Student will design and demonstrate an appropriate hashing function for an application.
  16. Student will describe the efficiency considerations for sorting, searching, and hashing algorithms..

Important Dates

Feb 4 is the last opportunity to: Other important dates

Holidays

Make-ups

No make-up exams will be given without prior consent of the instructor. Students participating in an officially sanctioned, scheduled, college extracurricular activity will be given the opportunity to make up class assignments or other graded assignments missed as a result of their participation.

Grade Scale

A: 100% - 90%
B: 89% - 80%
C: 79% - 70%
D: 69% - 60%
F: 59% - and below

Class Policies

No food or drinks allowed in the classroom (water bottles OK). Please switch all cell phones either off or to silent mode. No children or other visitors unless prior permission is obtained.

Attendance

Each student is expected to attend every class meeting. In the case of absence, it is the student's responsibility to inform the instructor.

Tutorial Services

The Math Center (Room 426) offers free drop-in tutoring and tutorials on computer. Check with the Center for hours of operation. The Academic Success Center (ASC) offers math videos and free tutoring by appointment. Check for hours of operation

Students with Disabilities

Southwestern College recommends that students with disabilities or specific learning needs contact their professors during the first two weeks of class to discuss academic accommodations. If a student believes they may have a disability and would like more information, they are encouraged to contact Disability Support Services (DSS) at (619) 482-6512 (voice), (619) 207-4480 (video phone), or email at DSS@swccd.edu. Alternate forms of this syllabus and other course materials are available upon request.

Academic Success Center Referral

Services are located in the ASC (420), the Writing Center (420D), the Reading Center (420), Math Center (426), the Library/LRC Interdisciplinary Tutoring Lab, MESA, specialized on-campus School tutoring labs, the Higher Education Center, and the San Ysidro Education Center. Online learning materials and Online Writing Lab (OWL) are available online at swccd.edu/~asc .

Misconduct

Faculty may require a student who disrupts the classroom to meet with the Dean of MSE prior to the next class meeting. Also, instructors may exclude a student for misconduct on the day of the disruption, and an additional day if needed. Further disciplinary action may be pursued by the instructor or college administration.

Misconduct includes the following:

Disciplinary Action Procedures

The instructor reserves the right to modify this information. Students will be notified if updates are made.

updated: 01.25.2015

Valid XHTML 1.0 Transitional

Valid CSS!