CS 1713 Section 2, Fall 1997
Introduction to Computer Science
Instructor:
Daniel Jimenez, M.S.
Office:
SB 3.01.06 (straight in, last cubicle on the right).
E-mail:
djimenez@ringer.cs.utsa.edu
Office Hours:
Tuesday and Thursday, 9:30-11:00AM, SB 3.01.06
Class Times:
- CS 1713 section 2, Tuesday and Thursday, 11:00-12:15PM, BB 3.01.06
and
- CS 1711 section 3, Tuesday 12:30-1:20PM, BB 3.02.24
or
- CS 1711 section 4, Thursday 12:30-1:20PM, BB 3.02.24
Note: you must be signed up for both CS1713 section 2 and
either CS1711 section 3 or 4.
Textbooks:
The Art of Programming: Computer Science with C
by Steven C. Lawlor
Unix System V: A Practical Guide, 3rd Ed.
by Mark G. Sobell
Prerequisite:
MAT 1093 (Precalculus),
concurrent enrollment in CS 1711 section 3 or 4.
Course Description:
Introduction to basic concepts of computer science. Functional components
of computers, data representation, problem solving methods, algorithm
development, and programming using a high-level programming language.
(Formerly CS 1714. Credit cannot be earned for both CS 1714 and CS1713.)
Introduction to Introduction to Computer Science:
This course is the introductory course for a major or minor in Computer
Science at UTSA. Students majoring in other fields may wish to consult
the requirements for their major in the catalog for possible alternative
courses:
-
CS 1073: Introductory Computer Programming for Scientific Applications
-
CS 2073: Computer Programming with Engineering Applications
-
CS 2083: Microcomputer Applications
All students are welcomed to take CS 1713; however, this course is
very intensive and designed specifically for the computer science major/minor,
as opposed to the general computing audience.
There are two main purposes of CS 1713. The first is to introduce the
student to elements of computer science in a problem
solving context. The second is to guide the student through
learning a high-level programming language (C in our case) while he or she
writes programs of increasing complexity, preparing the student for the
next course in the computer science sequence, CS 1723: Data Structures.
Note: you must have taken MAT 1093 before taking this
class. Concepts introduced in precalculus are very important in computer
science. You are encouraged to take MAT 1214, Calculus I concurrently with
CS 1713.
Students will learn about:
- Basic concepts of computation.
- Basic use of the Unix operating system.
- The edit/compile/run cycle under Unix with cc, vi,
and make.
- Data types and precision.
- Arrays and matrices.
- Functions and subroutines.
- Records
- File handling.
- Sorting and searching.
Course Requirements:
-
Programming Assignments
(15% of grade):
There will be approximately eight programming assignments to be done in C.
The programs will apply the problem solving concepts you learn in class.
They will be scored on a scale of 1-10 with the grades depending on:
-
Whether the program compiles without errors or warnings;
-
The degree to which the program behaves correctly and instructions
were followed;
-
Adequacy of documentation;
-
Style (discussed in class).
We will be using UTSA's runner computer to do the assignments.
If you have a computer at home, you may use it to develop your programs,
but the project you turn in must work correctly on and be submitted from
runner. You will normally turn the programs and output in by e-mail,
with exact instructions given in the assignment.
Although the programming assignments are 15% of the grade, they are the
most important part of the learning process since doing them is how you
learn to program.
-
Progress Reports
(10% of grade):
Each time a program is due, each student will submit an article
from his or her runner account to the UTSA newsgroup
utsa.cs.1713-2.d
giving an overview of the work he or she has done on the current assignment
(without giving any C code), his or her impressions on what was
discussed in class since the last report was submitted, and at least
one question about computer science or programming. These articles must be
in the students' own words
and will be graded according to content as well as grammar and spelling;
part of being a computer scientist is the ability to express yourself clearly.
The articles are expected to be thoughtful and not composed hurriedly at
11:55 the night they're due. Your single-spaced article should normally fill
two screenfuls on a VT320 terminal (48 lines); more is fine.
Note that the newsgroup is a public forum; anybody at UTSA will be able to
read the article (although only the individual students will know the grade
they made), so you are making an impression.
-
Midterm Exam:
(15% of grade):
There will one mid-term exam.
This will be a closed book exam consisting of true/false, short answer,
and essay questions, and small programming problems.
-
Second Exam:
(20% of grade):
The second exam will be given toward the end of the semester.
It will cover material up to that
point, and be similar in format to the midterm. Note that it is worth
more than the midterm.
-
Final Exam
(25% of grade):
The final exam will be comprehensive. It will have much the same format as
the mid-term, but will be approximately twice as long.
-
Lab Component
(10% of grade):
You will be evaulated on your performance in the lab by the lab instructor.
This may include (but is not limited to) problems from the book and/or
quiz grades.
-
Class Participation
(5% of grade):
During the lab (CS 1711) sections and class (CS 1713),
students are expected to ask questions and participate in class discussions.
This also includes discussions on the class newsgroup,
utsa.cs.1713-2.d
. Students should read the newsgroup frequently. Read your classmates
posts and respond to their questions if you know the answers. Also,
important announcements (such as "the due date has been changed") may be
posted to the newsgroup; look for such messages.
If you have a question in class, ask it. Chances are that someone else
has the same question. If the instructor poses a question to the class,
and you feel you know the answer, answer it.
Note: Late programs are not accepted. Late progress reports are not accepted. You
are given enough time to do the assignments if you start early. Your lowest program
and progress report grades will be dropped, so if you have an emergency and can't
complete an assignment, your grade will not be affected. If you have two emergencies,
bring the instructor documentation and we'll talk. If you have to miss a test, you need
to inform the instructor before you miss the test through e-mail or calling the division
office. In this case, you will be allowed to substitute another grade
or take a make-up test at the instructor's discretion.
A Word About the Computer Science Major
If you are a computer science major, you have chosen to enter a fascinating
world where the barely imaginable has become ordinary just in the past few
decades. There is an enormous amount of knowledge and learning that goes
along with getting a degree in this field, and with understanding the
technology behind the magic. Most of this learning occurs
not during the class lectures, but in the long hours you will spend in the
lab, the discussions you will have with your classmates and instructors
outside class, the middles of the night when you wake up and realize how
to solve some programming problem, the second and third time you take Calculus
I, etc. This learning only comes with hard work. If you don't learn the
concepts presented in CS 1713 but somehow manage to squeak by with a
C anyway, you will not be prepared to take the next course. You will
eventually need to learn the material anyway. So take advantage of this
opportunity and give this class the attention it deserves. The instructor
is happy to see you in his office or answer your e-mail or newsgroup question.
Academic Dishonesty
Unless a programming project is specifically assigned as a group project,
students are not allowed to work together on programs. You may discuss
general ideas related to the program, but you may not e.g. share program code
or read each others programs. Instances of such collaboration will be dealt
with harshly, but the real cost comes when a student doesn't know how to
answer questions on a test about issues involved in doing a project.