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
- 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% |
- The Projects and Exercises portion of the grade encompasses:
programming assignments, written homework, in-class exercises, and other
work assigned throughout the semester.
- 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.
- 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.
- 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%.
- 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
- This course contains a number of hands-on assignments and projects which
require use of the computer.
- 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.
- 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.
- 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:
- Demonstrate the ability to create non-trivial programs in a
modern, professional level programming language.
- Describe and use language features for advanced data types:
advanced pointers, structures, unions and classes.
- Demonstrate and explain the use of common data structures:
arrays, sets, stacks, queues, lists, trees and files.
- Explain the similarities and difference between array and
dynamic memory implementation of data structures.
- Explain and use basic algorithmic analysis techniques.
- Describe the phases of the software development life cycle.
- Demonstrate and explain techniques for organizing complex
projects.
- Describe Object Oriented analysis and programming
techniques
- Explain debugging techniques suitable for use with large
software projects
Go to Top of Syllabus