SAINT MARY'S UNIVERSITY
Department of Mathematics and Computing Science
CSC 2341Algorithmic Foundations
of Computing ScienceCSC 2341
CSC 2342Data Structures and AlgorithmsCSC 2342
Lecture and Lab-Recitation Overview
Overview of Lectures
The lectures in this course may be viewed
as consisting of two "streams": a
"theory stream" and a "practice stream".
The "theory stream" will present the various
algorithms and data structures we discuss, as
well as any required-but-not-assumed mathematical
background that may be needed for a better
understanding of how these algorithms work, how
efficient they are, which one might be better
than another in a given situation, and so on.
The "practice stream" will present new
topics in C++ (and our local programming
environment in particular), new topics
in program development in general, and
implementation issues.
Needless to say, it would be nearly
impossible to make these two streams
totally disjoint, and probably not a
good idea even if possible to achieve.
So, topics from each stream will be
intermingled in the lecture material.
We shall, however, try to keep things
in context by pointing out, as we go,
where and how each topic fits into the
conceptual "stream infrastructure".
Overview of
Lab-Recitation Sessions
Performing the hands-on lab-related programming
activities is the critical part of any
computing science course having a major
programming component. This course
is no exception.
In addition to dealing with new topics in
C++ and the programming environment, what
you do in the lab will involve working with
sample programs that illustrate the topics
discussed in class. You will either
modify those programs
in prescribed ways, or write new ones
to perform the same task in a different
way, or to perform new, related tasks.
In the beginning you may also need to
devote some time to a review and
consolidation of previous C++ knowledge.
Sometimes what you are working on may
carry over from one week to the next,
but more often sample programs
will tend to be independent of one another
and illustrate a topic in isolation.
In a given week, the lab-recitation topic might,
or might not, relate to the current "major assignment",
since there are topics that might not relate directly
to the current major-assignment-in-progress, yet
deserve some hands-on time in the lab.
For what should be
obvious reasons, attending labs and keeping
up with the lab work will be critical to your
success in the course. There will, in fact,
be direct credit assigned to some of the work
actually done in the lab, or based on lab
activities and completed outside the lab,
possibly for submission as all or part of an
assignment. The indirect benefit accruing from
performing and understanding the lab activities
is, of course, incalculable.
What students can expect and
what your instructor will expect
- Required student preparation for
lectures and labs
The assigned reading for a
particular lecture on
any given day is always the
relevant material from the text.
The assigned reading for any
lab/recitation is the same,
together with any
relevant notes and sample
programs from class, which
will be available on-line.
Relevant text material may of
course be obtained, or at least inferred, from the
Course Outline.
- What happens during a lecture class
The instructor will present and discuss topics according to
the schedule given in the Course Outline
(which may be modified as the course proceeds to reflect
more accurately what actually takes place in class).
Real-time computer displays using on-line sample programs
and other material (also available to students), overhead
transparencies, whiteboard examples and other visual aids
will be used to aid the in-class presentations and
discussions. Students should not expect that everything
seen in class will magically appear on the course web
site at some point. In other words, class attendance is
necessary if nothing is to be missed.
- What happens during a formal lab/recitation session
The instructor will first present a brief overview
of what is to be accomplished during the current lab/recitation
(again, see the Course Outline).
This may be followed by a presentation of one or more
topics, after which the instructor will guide and
monitor your progress through a sequence of required
activities. There may be one or more additional
presentations of topics during the session, as required.
Keep in mind that a formal lab/recitation session is for completing
the required activities for that session, whatever
they may be. This may or may not include time for working
on major assignments but these must
not be worked on unless you have finished
all other required activities or are specifically directed
to do so. Note too that there may be a time lag between when a
topic is covered in class and when that same topic is dealt
with in a lab/recitation session. You should use
any such time lag to become as
familiar with the topic as possible before your in-lab
hands-on encounter with it.
- Required student follow-up
You must, of course, review and study the material
presented and discussed in classes and lab/recitation
sessions. Also, any
assigned activity not completed
before leaving the lab/recitation must be
finished later outside the formal lab/recitation session,
by the required due time if it is to be submitted, and in any case
before the beginning of the next
formal lab/recitation session. You will also have major assignments
to complete and submit for credit.
Most of the work on these, and perhaps all of it, will have to be
done outside the formal lab
periods, as mentioned above.
- Warning to all students
Failure to review the material
covered in any given week,
and, in particular, failure to
complete each week's required activities
before the next week begins,
will have several cascading
negative effects. First, you
will be unprepared for the
following week's activities.
Because of the cumulative
nature of the work, unless you
recover immediately there will be a
growing sense of frustration
and unpreparedness that will
lead to eventual paralysis.
This may begin to show up
first in the lab/recitation
portion of the course, but will
eventually extend to the course as a whole.