UP ONE LEVEL:
ENEL 315 Home Page
The University of Calgary
Department of Electrical and Computer Engineering
ENEL 315:
Software Development Concepts and Techniques
Course Outline for the 1999 Winter Session
Author: Steve Norman
Last modified: Fri Jan 8 13:59:14 MST 1999
Contents
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
DAY TIME SECTION LAB INSTRUCTOR
Tue 2:00pm-3:50pm B01/B02 Dr. Norman
Thu 2:00pm-3:50pm B03/B04 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 take place in
EN C 01 and EN C 07.
Laboratory sections begin Tuesday, January 12.
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.
A typical programming exercise will use ideas from four or
five of the categories listed below.
-
Important features of C++ not covered in ENGG 335,
including templates, exception handling, and several others.
-
Introduction to the Java programming language.
-
Introduction to object-oriented software design.
-
Some fundamental data structures:
arrays, linked lists, trees.
-
Fundamental abstract data types:
lists, stacks, queues, tables.
-
Use of recursion in solving problems.
-
Software development skills:
elementary design ideas, testing strategies, debugging techniques,
use of software development tools.
[back to top of document]
Textbooks
Note:
As part of the first lecture I will supply some advice about
whether or not students should buy either of
the recommended textbooks.
Required:
- Cay S. Horstmann,
Practical Object-Oriented Development in C++ and Java.
Wiley Computer Publishing, 1997.
Recommended:
- Scott Meyers,
Effective C++, Second Edition.
Addison-Wesley, 1998.
- Ken Arnold and James Gosling,
The Java Programming Language, Second Edition.
Addison-Wesley, 1998.
[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
Dean's 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]
Helping Cheaters is Academic Misconduct
Helping students to hand in work that is not their own
is a form of academic misconduct.
This point is made very clearly in the University of Calgary
calendar.
Therefore,
I believe that
distributing solutions to lab exercises before
the lab assignment due date is
a serious form of academic misconduct.
If I discover such activity,
I will report it to the Dean's Office immediately.
Distributing solutions means making solutions available
to other students via paper copy, electronic mail, Web site,
or any other medium.
[back to top of document]
Missed or Delayed Term Work
You are expected to complete all lab assignments and hand them
in on time,
and you are expected to write the mid-seesion test.
If you don't hand in some term work due to illness, domestic affliction,
or another legitimate reason,
I am willing to make accommodations,
but only if you report the problem
to me as soon as is reasonably possible.
Accommodations will be decided on a case-by-case basis;
typically they will involve either accepting lab assignments after
the due date or making changes to the weighting used to compute
the course grade.
[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%
Mid-session test: 30%
Final examination: 50%
Regardless of your assignment and midterm marks,
if your mark on the final exam is
less than 40 percent,
you will fail the course.
Regardless of your assignment and midterm marks,
if your mark on the final exam is
greater than or equal to 40 percent and
less than 50 percent,
your grade will be D+ or lower.
Regardless of your mid-session test and final exam marks,
you will fail the course if your overall lab assignment
mark is less than 50 percent.
[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 are using a Web browser on a computer in an
Electrical Engineering lab,
you may use the following shorter form:
http://www/People/Norman/enel315/
[back to top of document]