COSC 236:
Introduction to Computer Science I
Fall 2006
Room:Lectures: YR 205, Labs: YR 305
Time: Mon., Wed. 12:30-1:45. Lab: Tues., 12:30-2:20
Textbook: T. Gaddis,
Starting out with C++: From Control Structures through
Objects (5th Edition),
Addison-Wesley.
ISBN:
Software:
We will be using Microsoft Visual Studio as our primary development for this course. This software is available in the labs. If you want a copy for your own computer, I would suggest dowloading Visual Studio Express, which is free, and sufficient for our purposes in this class.
Note that this is not a course in software development for Windows: we
will only be using a small fraction of the features in Visual Studio.
If you're interested in trying out the command-line tool that were
demonstrated in class, there are several possibilities:
- For Mac/OS X users, there are two good versions
of Emacs. The Apple Developer's tools
XCode package includes the gcc compiler and lots of other goodies.
- For windows, the Cygwin tools
can be configured to include both emacs and gcc.
- For Linux, almost any distribution can be configured to load
developer tools, including gcc and emacs.
If you're interested in learning emacs, a good tutorial can
be helpful. This tutorial for make might also be of
interest.
If you have any problems with any of these tools, please let me know -
I'll do what I can to help out.
Computing/Storage Issues:
We will use the machines in
the lab to start work on the lab assignments. As these are public
machines, you'll want to make arrangements for saving your work. You
can use your Tiger
File space or WebDisk
to upload files. As the lab machines are also equipped with USB
connection, you can use USB memory sticks if you want, but I don't
recommend it - they are too easy to lose.
Don't expect to be able to do all of the lab assignments during the
two-hour lab session. You can use your own computer (see above). The
COSC
labs are also available, as are tutoring
services.
Course Description:
This course provides an
introduction to problem
solving, algorithm development, and computer programming. We will
use C++ to explore concepts such as iteration, flow control, data
types, functional decomposition, file input/output, and basic
object-oriented programming concepts.
Course Organization:
Coursework will consist of weekly lab assignments,
two tests,and a final exam.
Policies:
- All homework will be handed in on the due date. Late
assignments will not be accepted. However, since the material in
this class is cumulative, you should complete all assignments,
even if you will not get credit for them.
- Documentation is a crucial part of effective software
development. All assignments should be documented, using styles
like those discussed in class or in the text. Solutions will not
be considered complete, and will therefore not get full credit,
without proper documentation.
- Your work should be easy to read: there are many
papers to be graded and we do not have the time to decipher
cryptic handwriting. If possible, type your work. Otherwise,
please write neatly and clearly. In any case, please explain your
answers clearly and succinctly. No credit will be given for
answers that we cannot understand.
-
The work you turn in must be your own. You can feel free to
discuss assignment questions with others, and you may need to work
in teams during lab times, but the written assignments that are
turned in must be your own work. Cheating in any form -
including copying someone else's work or letting your work be
copied - is unacceptable at Towson University. Do not turn in work
that has been copied from somebody else, do not let your work be
copied. Anyone found cheating (on either side, copying or being
copied) will receive an F for the course and a letter to the dean
will be sent. Any incidents of cheating will be handled through
appropriate administrative channels.
- Attendance will be taken at each class session. If you
miss a class, it is your responsibility to make up the material, to
get information about assignments, and to complete those
assignments. Requests for permission to make up exams must be
supported by written verification of the reason for the absence.
- Towson University does not post grades. The department
office will not inform you about your grade after a course is
completed since you can check your grades online.
- University policy states that students may not
repeat a course more than once without prior permission of the
Academic Standards Committee.
- No food or drink is allowed in the labs; no food is
allowed in the classrooms.
- Please don't use cell phones, pagers, laptops, etc. in class.
Evaluation:
- Homework:
30%.
- Test 1:
20%.
- Test 2:
20%.
- Final (Wednesday December 13):
30%.
Grading Policy
|
A: 93-100 |
A-: 90-92.9 |
|
B+: 87-89.9 |
B: 83-86.9 |
B-: 80-82.9 |
|
C+: 75-79.9 |
C: 70-74.9 |
|
D+: 65-69.9 |
D: 60-64.9 |
|
F: < 60 |
.
Syllabus:
- Introduction to basic computer organization.
- Data types, basic operators, expressions.
- Control Flow: if, else, for, do, while, switch, break, etc.
- Functions: Definitions, prototypes, functional calls, parameter passing
- Arrays: declaration, parameter passing, multi-dimensinonal arrays
- Structs and Classes: definition, uses, differences
- Recursion
- Other topics as time allows: comparison with other programming languages