CS 1713 Section 3, Spring 1997
Introduction to Computer Science
Instructor:
Daniel Jimenez, M.S.
New Office:
SB 3.01.06
E-mail:
djimenez@ringer.cs.utsa.edu
Office Hours:
TR 11:00-12:15
Class Times:
- CS 1713 section 3, TR 9:30-10:45am HSS 2.02.20
- CS 1711 section 5, T 8:00-8:50am EB 1.04.28
- CS 1711 section 6, R 8:00-8:50am EB 1.04.28
Textbooks:
Problem Solving and Program Design in C, 2nd Ed.
by Jeri R. Hanly and Elliot B. Koffman
Unix System V: A Practical Guide, 3rd Ed.
by Mark G. Sobell
Prerequisite:
MAT 1093 (Precalculus),
concurrent enrollment in CS 1711 section 5 or 6
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):
Every week, before midnight on Monday, each student will submit an article
from his or her runner account to the UTSA newsgroup
utsa.cs.1713-3.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 the previous week, 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 Monday night. 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.
-
Two In-Class Exams:
(35% of grade):
There will be two in-class exams; one at midterm and the other near the
end of the semester when the majority of the material has been covered.
These will be closed book exams consisting of true/false, short answer,
and essay questions, and small programming problems. We will discuss
the exact scheduling of these exams in class to accomodate students'
other activities, so if you have a preference for a particular date, let
the instructor know. The first exam will be worth 10% of the final grade;
the second worth 25%.
-
Final Exam
(30% of grade):
The final exam will be comprehensive. It will have much the same format as
the previous two tests, but will be approximately twice as long. There is
a possibility that some students will be excused from taking the final if
their performance on the other aspects of the class have been excellent.
-
Class Participation
(10% of grade):
Mostly during the lab (CS 1711) sections, but also during 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-3.d
. 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.