Course Policies - Langara College

advertisement
La
n
Sp ga
rin ra
ar g Co
ch 20 lle
ive 06 ge
d -
Department of Computing Science
and Information Systems
CPSC 1160 –Program Design II
Course Outline
Spring 2006
Course Number:
Section:
Room:
CPSC 1160 (4:0:2)
1
Section 1
Lecture:
Lab:
Instructor:
Office:
Office Hours:
Phone Number:
E-mail:
B149 (12:30 - 13:25 MTWR–)
B019 (15:30 - 17:25 —–W––)
Bryan Green
B246c
14:30 – 15:25 MTW–– (or by appointment)
604-323-5736
bgreen@langara.bc.ca
Description and Objectives
Provides extensive exposure to problem analysis and procedural abstraction through lectures and
supervised labs and extending the principles of computer programming learned in CPSC 1150.
Reviews data types, control statements, input/output facilities, and procedures. Covers recursion,
complex data structures, systematic software development, abstract data types, creation of
libraries of reusable routines, sorting and searching algorithms, efficiency considerations in
algorithms, linked lists and graphs, advanced data manipulation and low-level applications.
Object-oriented programming will be introduced. Students will develop a major project for this
course.
Upon successful completion of this course, you will be able to:
• Design, develop, implement (using C++) and properly document programs for various
applications of intermediate difficulty.
• Continue to use procedural abstraction as well as data abstraction to solve problems
• Design an ADT for, and implement (using static and dynamic data) and test some linear
data structures (e.g., sets, queues, stacks, lists).
• Analyze algorithms for efficiency.
• Use recursion to solve simple tasks.
La
n
Sp ga
rin ra
ar g Co
ch 20 lle
ive 06 ge
d -
Prerequisites and Expectations
As printed in the calendar, the prerequisites for CPSC 1160 are:
A minimum grade of "C" in one of CPSC 1150 or 1155; or permission of department.
Other expectations for this course:
• Students are expected to find at least 4 hours of lab time per week in addition to the
scheduled class and lab time to complete hands-on exercises and assignments.
• Students are encouraged to experiment to find the answer to their own questions and to
learn new software features by looking up information in help files, by guessing, and by
experimenting. Step-by-step procedural descriptions will evolve to independent problem
solving.
Transferability
CPSC 1160 transfers to several other BC institutions. Please check the transfer guide for other
institutions not mentioned here, or for your situation.
SFU CMPT 212 (3)
UBC CPSC 1st (3) if taken alone; LANG CPSC 1150 &
LANG CPSC 1160 & LANG CPSC 1181 = UBC CPSC 111
(4) & UBC CPSC 211 (4) & UBC CPSC 1st (1)
UVIC CSC 115 (1.5)
Equipment and Labs
The scheduled lab component of this course is taught in B019, which is equipped with IBM PCcompatible microcomputers. These computers (and all computers on campus) are attached to the
Novell network, which provides shared storage and printing facilities. You can use any of
Langara’s other labs (such as A215, A216, A217, A219, A264, B015, G109a, K110, L011,
L012) to do your homework.
Texts and Materials
Required:
• C++ plus Data Structures, 3ed. by Nell Dale, Jones and Bartlett, 2003.
• At least 3 folders for handing in assignments
Optional:
• Absolute C++ 2ed. by Walter Savitch, Addison-Wesley, 2006.
Course Evaluation
Task
Assignments (approx. 4)
Lab Exercises
Written Midterms (2)
Unannounced quizzes / attendance / participation
Final Written Examination
B. Green
2
% of Final Mark
20%
10%
25%
10%
35%
CPSC 1160
La
n
Sp ga
rin ra
ar g Co
ch 20 lle
ive 06 ge
d -
Grading
Letter
Percentage
Grade
A+
90 – 100
A
85 – 89
A80 – 84
B+
76 – 79
B
72 – 75
B68 – 71
C+
64 – 67
C
60 – 63
C55 – 59
D
50 – 54
F
< 50
Course Policies
1. Participation includes (but is not limited to): attending classes and labs, arriving on time
and being prepared, working on and completing in-class exercises, being respectful of
others and finally, offering responses to questions and actively participating in classroom
discussions.
2. The student is responsible for all materials covered in any classes that he/she misses.
3. No make up midterms or quizzes will be given.
4. The final examination is common to all sections of CPSC 1160 and will be two (2) hours
in duration. Permission to change the date and time of an exam cannot be granted by the
instructor; it is given by the General Office only for valid reasons outlined in the Final
Examination Policy (leaving for a holiday is not considered a valid reason).
5. In order to get a C or higher, a student MUST achieve at least a 50% average in each
examination component (midterms and final) of the course.
6. In order to pass the course, everyone is required to hand-in an attempt at solving every
assignment and to achieve a satisfactory assignment mark.
7. A student who misses 20% or more of the course (lectures, labs, or other activities) may
receive a failing grade for the course, even if the mark would otherwise indicate a pass.
8. Each assignment is due on the day and the time appointed. Assignments received after
that time will be considered late. 20% will be deducted for each day late. A partially
completed assignment is better than a zero. If you will be late for or absent from class, it
is your responsibility to make sure your assignment gets handed in on time.
9. Start your assignments early. The excuse "The computer ate my homework," or “The
computer network is down” or any variants thereof, will not be accepted as viable reasons
for lenience concerning the late policy.
10. Questions and problems regarding assignments will be posted on WebCT. Students are
responsible for regularly checking for updates.
11. Each student is expected to his/her own work and enter his/her own keystrokes. While
helping one another is encouraged, direct copying of assignments is cheating and will be
B. Green
3
CPSC 1160
La
n
Sp ga
rin ra
ar g Co
ch 20 lle
ive 06 ge
d -
penalized appropriately. Penalties may include, but are not limited to: a zero grade on the
assignment, an interview with the Dean, and a permanent note on your student record.
12. Please read other Langara Policies (http://www.langara.bc.ca/policies/index.html) under
which you are required to abide, particularly B3002, B3008, B5002, and F1004.
Useful Notes
•
•
Computer science is a contact sport. The successful student is one who is interested in
learning the rules of the game, not afraid of getting their hands dirty and willing to play
with all their heart and enthusiasm.
With respect to assigned work (and solving problems in general!), you might want to
keep the following slogan in mind: “Make it work before you make it good; make it good
before you make it beautiful”. The message it conveys is to concentrate on the important
features of the overall design. Within the systems we will be using, it will be a constant
danger to overly concentrate on whiz-bang presentation without doing anything
productive. (“It took me a week and a half but I finally got my name to dance across the
screen!”) You may get close to zero because although some piece of your output was
incredibly brilliantly designed and beautifully presented, nothing actually worked the
way it was supposed to! Emphasis will always be placed on modularity and the principles
of incremental design, clear layout and helpful documentation.
Topics
1. Review of what we know so far, up to procedural abstraction
2. Introduction to C++
3. Guidelines: algorithms, design, analysis, testing, documentation and code
4. Program organization: modularization and libraries
5. Abstract data types and objects
6. Tools provided by C++: enumerated types, unions, structs, classes
7. Algorithm efficiency
8. Container classes and their implementations: sets, queues, stacks, lists, etc.
9. Pointers, references and dynamic data
10. Building classes with dynamic data
11. Simulation
12. Analysis of some recursive algorithms
13. Searching and sorting methods
14. Introduction, time permitting, to further OOP features such as inheritance
Important Dates
Feb 22 – Midterm #1
Feb 23, 24 – Spring Break
Mar 22 – Midterm #2
Mar 31 – Last Day to Withdraw
Apr 7, 10 – Study Days
Apr 10 – 21 – Final Exam Period
Apr 14, 17 – Good Friday and Easter
B. Green
4
CPSC 1160
Download