CIS 261: Data Structures Programming
Independent Study
Course Syllabus

Instructor Contact Information
  Instructors: Mr. Alan Collard Mrs. Colleen Pepin
  Office Location: AJT110C AJT207A
  Phone: 810/989-5620 810/989-5631
  EMail: acollard@sc4.edu cpepin@sc4.edu
  Conference Hours:   M  5:20-6:10p
T 1:10-2:50p
W 12:30-12:55p (until 2/28)
Th 1:10-2:00p

Additional conference times are available by appointment.

 

Course Description

CIS 261. Data Structures Programming. This course explores the techniques and data structures used in the development of complex software projects. Through lectures and programming projects, this course will cover elementary data structures, dynamic memory allocation, sorting and searching, recursion, algorithmic analysis and object oriented programming techniques.

Prerequisites

CIS 260 Computer Programming I

MTH113 or higher is not required, but is strongly recommended

Textbook

  1. Java How to Program, 6th Edition,  Deitel & Deitel, Pearson Education, Inc., 2005 [Required]

Students may also benefit from a Java reference guide of their own choosing. 

Course Materials

128MB+ USB Storage Device
Additional materials may be required by the instructor

Requirements

Final Grades for this course will be calculated as follows:

Projects & Exercises  50%
Examinations 50%
  1. The Projects and Exercises portion of the grade encompasses: programming assignments, written homework, in-class exercises, and other work assigned throughout the semester.

  2. Programming assignments must be submitted in "presentation" format, including: cover sheet, problem description, design documents (flowchart, psuedocode, etc.), source code listing, sample printed output or screen printout. Program code must be neat and display coding style and structural coding methods.
     
  3. Two written tests will be given during the semester. These closed book tests will consist of some combination of Matching, True/False, Multiple Choice, Fill-In, Short Answer and Essay type questions.

    Students should contact the instructor one week before taking a test to schedule a time.  Tests will be administered at the Academic Achievement Center.

  4. Completed assignments must be submitted by the due date for full credit. Late assignments will be marked down 25% for every week (or part of a week) they are late. For example: a program turned in two weeks late would be marked down 50%.
     
  5. All work must be submitted by the last regular class day to be considered for final grade evaluation.

Grading Scale

Grades will be determined according to a standard grading scale.

A 92 - 100 % B- 80 - 81 % D+ 68 - 69 %
A- 90 - 91 % C+ 78 - 79 % D 62 - 67 %
B+ 88 - 89 % C 72 - 77 % D- 60 - 61 %
B 82 - 87 % C- 70 - 71 % E 59 %

Policies

  1. This course contains a number of hands-on assignments and projects which require use of the computer.
     
  2. There are two scheduled written tests, including a comprehensive written final exam. Make up tests will only be given with prior permission of the instructor, otherwise, missed tests will receive a grade of zero. Make up tests must be taken within one week of the original scheduled test date.

  3. Students are expected to keep current with all course work. Students who, for whatever reason, fall behind and are unable to complete the course requirements before the end of the semester are encouraged to withdraw and re-take the course at a later date. Incomplete grades are extremely rare, and will only be given if 90% of the course material prior to the final exam has been completed satisfactorily.
     
  4. St. Clair County Community College considers academic honesty to be an integral necessity of all academic performance. Instances of academic dishonesty will be treated as serious offenses. Students involved in activities such as cheating and/or plagiarism will be subject to disciplinary action. 

Course Objectives

A number of topics will be addressed in this course. Students achieving satisfactory performance should complete the following:

  1. Demonstrate the ability to create non-trivial programs in a modern, professional level programming language.
  2. Describe and use language features for advanced data types: advanced pointers, structures, unions and classes.
  3. Demonstrate and explain the use of common data structures: arrays, sets, stacks, queues, lists, trees and files.
  4. Explain the similarities and difference between array and dynamic memory implementation of data structures.
  5. Explain and use basic algorithmic analysis techniques.
  6. Describe the phases of the software development life cycle.
  7. Demonstrate and explain techniques for organizing complex projects.
  8. Describe Object Oriented analysis and programming techniques
  9. Explain debugging techniques suitable for use with large software projects

 

Go to Top of Syllabus