CS 2073 Section 2, Fall 1997
Computer Programming with Engineering Applications
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 2073 section 2, Tuesday and Thursday, 8:00-9:15AM, BB 3.01.06
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
Prerequisites:
- MAT 1214 (Calculus I),
- MAT 1223 (Calculus II, concurrent enrollment)
Course Description:
CS 2073 Computer Programming with Engineering Applications
(3-0) 3 hours credit. Prerequisite: MAT 1214, and completion of or
concurrent enrollment in MAT 1223.
Algorithmic approaches to problem solving and computer program design
for engineers. Engineering and mathematically oriented problem sets
will be emphasized, including non-numeric applications. Searching,
sorting, linked-lists, and data typing will be introduced. May not be
applied toward a major in Computer Science.
Introduction to Engineering Programming
This course is the introductory programming course for an Engineering
major at UTSA. Some other majors, such as Math, may also take this course
to fulfill major requirements. 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 1713: Introduction to Computer Science
-
CS 2083: Microcomputer Applications
All students are welcomed to take CS 2073; however, this course is
intensive and designed specifically for the needs of engineering
programmers, as opposed to the general computing audience.
There are two main purposes of CS 2073. 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.
Note: you must have taken MAT 1214 before taking this
class. Concepts introduced in Calculus I are very important in computer
programming. You must also take concurrently (or have already taken) MAT 1223,
Calculus II.
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.2073.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:
(25% 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
(30% 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.
-
Class Participation
(5% of grade):
During class,
students are expected to ask questions and participate in class discussions.
This also includes discussions on the class newsgroup,
utsa.cs.2073.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.
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.