UP ONE LEVEL:
ENEL 315 Home Page
The University of Calgary
Department of Electrical and Computer Engineering
ENEL 315: Introduction to
Data Structures and Software Development
Course Outline for the 1996 Winter Session
Author:
Steve Norman
Date: 3 January 1996
Contents
Revision History
The original version (including paper copies handed out in the
first lecture) had incorrect information about the lab schedule.
This was corrected Mon, Jan 8 at 11:45am.
[back to top of document]
Preface
This document is the official course outline,
as specified in the U of C Calendar.
It contains information about
[back to top of document]
Lecture and Laboratory Instructor
Dr. S. A. Norman
Department of Electrical and Computer Engineering
Office: EN A 229F
Phone: 220-8642
Email: norman@enel.ucalgary.ca
[back to top of document]
Lectures
Lectures are Monday, Wednesday and Friday at 10:00am
in EN E 239.
[back to top of document]
Laboratory Sections
NOTE: The information below is now CORRECT.
There were errors in the original version of this document.
DAY TIME SECTION LAB INSTRUCTOR
Wed 2:00-3:50pm B01 Dr. Norman
Fri 3:30-5:20pm B02 Dr. Norman
Please note the number of your lab section.
(``B01'' stands for ``laBoratory section 1''.)
You should write your lab section number on every
assignment you hand in and type it into every file of source code
you work on.
Laboratory sections meet in EN C 01 and EN C 07.
Laboratory sections begin Wednesday, January 10.
You will have a lab section almost every week.
You will be given more precise information about
the laboratory schedule as the term progresses.
[back to top of document]
Course Content
NOTE: the list below does NOT give the order in which topics
will be covered.
Most programming exercises will involve ideas from four or
five of the categories listed below.
-
Introduction to object-based and object-oriented programming in C++.
-
Fundamental data structures:
arrays, linked lists, trees, hash tables.
-
Fundamental abstract data types:
lists, stacks, queues, tables.
-
Use of recursion in solving problems.
-
Software development skills:
elementary design ideas, testing strategies, and debugging techniques.
[back to top of document]
Laboratory Assignments
Some assignments are to be completed by each individual student
and others are to be completed by groups of students.
A note near the top of each lab handout will specify whether
the assignment is to be done by individuals or by groups.
[back to top of document]
Get Help, But Don't Cheat!
Do the individual assignments by yourself.
If you copy someone else's work or let someone else
figure out all the difficult exercises for you,
you will not learn very much.
This does not mean that you should not get help from
others while you are doing your assignments.
You are encouraged to
discuss the assignments with instructors and
fellow students, since this
is one of the best ways to learn the material.
However, you should not let anyone write your programs for you.
When you hand in your assignments, ask yourself two
questions:
Do I understand every line of code I wrote?
Could I do this assignment over again without any help?
The answer to both questions should be YES.
Computers allow electronic copying of programs,
which makes it very easy to cheat in a course like ENEL 315.
If you are caught cheating you may be reported to the
Undergraduate Studies Office for appropriate discipline.
If you cheat and don't get caught, you are still in trouble,
because examination marks count much more than
assignment marks in your final course grade.
[back to top of document]
Essays
You will write and hand in two very short essays on topics related
to software development.
The purpose of assigning these essays is to get you to do
some reading and thinking about software development,
and to give you some
practice in written communication.
Essay topics, due dates and other details
will be announced later.
[back to top of document]
Examinations and Course Grading
There will be one mid-session test.
It will probably take place one evening in the week before Reading Week.
When the
details are known,
they will be announced in lectures.
The mid-session test and the final examination will be closed-book - you
may not bring any books or notes.
You may not use
electronic calculators or computers during
either the mid-session test or the final exam.
Here is the weighting that will be used to assign grades:
Lab assignments: 20%
Essays: 5%
Mid-session test: 25%
Final examination: 50%
Regardless of your assignment and midterm marks,
if you score less than 40 percent on the final exam you
will fail the course,
and if you score between 40 and 50 percent on the final
exam your grade will be D+ or lower.
[back to top of document]
Other Course Information
You are strongly encouraged to use the World Wide Web to look up
course information.
For example, you will be able to use the Web to read
(Not much of this information
will be available right at the beginning of the term.
The set of course pages will grow as the term progresses.)
The URL for the ENEL 315 Home Page is
http://www.enel.ucalgary.ca/People/Norman/enel315
If you use Mosaic in the Common Core DECstation Lab, you
will find a convenient link from the DECstation Lab home page
to the ENEL 315 home page.
If you use Netscape or Mosaic on the Electrical Engineering Unix system,
first use the link from the Electrical Engineering home page
to ``Undergraduate Courses''; from there it should be easy to
find the ENEL 315 home page.
[back to top of document]