Syllabus
CS 1320 (Principles of Algorithm Design I):
Syllabus
Prerequisites
None.
Course description
This course is the first course for computer science majors, following
the guidelines established by the Association for Computing
Machinery. This course also partially satisfies the requirements for
Understanding the World Through Science of the common
curriculum. The course content will include learning about block
structured strongly typed programming languages as well as conceptual
information including beginning data structures, computer arithmetic,
computer organization, operating systems, programming languages,
sorting, and searching. Our study will include data types, arrays,
strings, structures, files, recursion, decisions, and loops.
Course goals and objectives
The objectives of this course include, but are not limited to, the
following:
- learning fundamental problem-solving methodology
- applying problem-solving techniques to algorithm design
- implementing algorithms in a suitable programming language
- development and analysis of algorithms
- introduction to the basic topics in data structures
- introduction to sorting and searching algorithms
Instructor
- Instructor:
- Dr. Berna Massingill
- E-mail:
- bmassing@cs.trinity.edu
- Web page:
-
http://www.cs.trinity.edu/~bmassing/
- Office:
- Halsell 201L
- Office hours:
- See my Web page.
- Office phone:
- (210) 999-8138
Textbook
Problem Solving in C++ Including Breadth and Laboratories;
Angela B. Shiflet; PWS Publishing Company; 1998.
Other references
(This list of references graciously provided by Dr. Eggen.)
- Cormen, Leiserson and Rivest,
Introduction to Algorithms,
McGraw Hill, 1990.
- Eggen and Eggen,
Introduction to Computer Science using C,
PWS Publishers, 1996.
- Hanly, Koffman, and Friedman,
Problem Solving and Program Design in C,
Addison Wesley, 1993.
- Kelley and Pohl,
C by Dissection: The Essentials of C Programming,
Benjamin Cummings, 1992, Second Edition
- Kernighan and Ritchie,
The C Programming Language,
Prentice Hall, 1988, Second Edition.
- King,
C Programming: A Modern Approach,
Norton Publishers, 1996.
- Schildt,
C: The Complete Reference,
McGraw Hill, 1990, Second Edition.
- Sobell,
A Practical Guide to the Unix System,
Benjamin Cummings, Third Edition, 1995.
Grades
The grades in this course will be determined by the results of
- three exams, two in class and one during the scheduled final-exam
period,
- several homework assignments, and
- periodic quizzes.
Averages will be calculated as a simple percentage, i.e.,
points earned divided by points possible.
Exams will account for approximately 40 percent of the total points
(with the two in-class exams equally weighted and the final worth
twice that much); homeworks will account for about another 40 percent;
quizzes will account for the remaining 20 percent.
Letter grades will
be assigned according to the following scale
- 90-100: A
- 80-89: B
- 70-79: C
- 60-69: D
with plus and minus grades assigned in marginal cases.
Exams
Exams are comprehensive but will emphasize the most recent material.
They are scheduled as follows. Please plan accordingly.
- Examination 1: February 18, in class
- Examination 2: March 24, in class
- Final Examination: May 6, 8:30am
Quizzes
There will be a short quiz almost every Monday, covering
material since the previous quiz.
Homeworks
Several homework assignments will be required for successful
completion of this class. Each assignment will be due at the
beginning of the period on the day assigned.
Most homeworks will be laboratory problems, which will be coded in a
suitable programming language.
You are encouraged to use the department's network of Unix machines,
but unless otherwise specified for individual assignments, you may
use any other system that provides a suitable environment.
Detailed requirements for problem submission will be provided with
each assignment.
Attendance
Regular class attendance is strongly encouraged.
Class Web page
Much course-related information (this syllabus,
homework assignments and sample solutions, example programs,
and so forth) will be made available via the
World Wide Web. You can find the home page for the course at
http://www.cs.trinity.edu/~bmassing/CS1320_2000spring/info.html.
This page is not only a starting point for Web-accessible course
material but will also be used for
course-related announcements, so
you should plan to check it frequently.
Late and missed work
Exams can be made up only in cases of documented conflict with a
university-sponsored activity or documented medical emergency.
The former requires prior notice.
Homework will normally be accepted up to five days late, at a penalty
of 10 percent off per day. More stringent deadlines may be imposed
for individual assignments.
Quizzes cannot be made up. However, in computing a final average
for each student, the lowest quiz score will be dropped, allowing
each student to miss one quiz without penalty.
Collaboration and academic integrity
Unless otherwise specified, all work submitted for a grade
(exams, quizzes, and homeworks) must represent the student's
own individual effort.
Discussion of homework assignments among students is encouraged,
but not to the point that the actual program code
is being written collectively.
Programs that are identical beyond coincidence are in violation of the
Academic Integrity policy of the university and will result in
disciplinary action, including, but not limited to, a failing grade on
that assignment for all parties involved.
You are responsible for the
security of your work, both electronic and hard copy.