CS 2073 Section 2, Spring 2009
Computer Programming with Engineering Applications
Instructor:
Daniel A. Jiménez
Office:
SB 4.01.58
E-mail:
dj@cs.utsa.edu
Office Hours:
Tuesdays 2:00pm-3:30pm
Teaching Assistant
Yingying Tian
E-mail:
ytian@cs.utsa.edu
Office Hours:
Thursdays 10:00am - 11:00am in SB 3.02.07
Class Times:
- CS 2073 section 2, Tuesday and Thursday, 12:30am-1:45am, SB 3.02.10A
Textbooks:
Required: NONE
Recommended:
The C Programming Language, Second Edition
by Brian W. Kernighan and Dennis M. Ritchie.
Prentice Hall, Inc., 1988.
ISBN 0-13-110362-8
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 an introductory programming course with emphasis on
engineering applications. It is normally taken by
Engineering majors.
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 1033: Microcomputer Applications
-
CS 1063: Introduction to Computer Programming I
-
CS 1073: Introductory Computer Programming for Scientific Applications
-
CS 1143: Web Design
-
CS 1173: Computation for Scientists and Engineers (MATLAB)
-
CS 1713: Introduction to Computer Programming II
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.
- Data types and precision.
- Arrays and matrices.
- Functions and subroutines.
- Records
- File handling.
- Sorting and searching.
Course Requirements:
-
Programming Assignments
(20% 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 computing systems in this class.
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
the UTSA computing system. You will normally turn the programs and output in by e-mail,
with exact instructions given in the assignment.
Although the programming assignments are 20% of the grade, they are the
most important part of the learning process since doing them is how you
learn to program.
-
Midterm Exam:
(20% 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.
-
Last Exam
(30% of grade):
The last exam will be comprehensive.
-
Class Participation
(5% of grade):
During class,
students are expected to ask questions and participate in class discussions.
Note: Late programs are not accepted. You are given enough time to
do the assignments if you start early. Your lowest program grade 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
professor documentation and we'll talk. If you have to miss a test, you need
to inform the professor 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 professor'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.
Jiménez's Buttons
Jiménez is generally nice but he is uptight about a few things.
Don't press these buttons:
- Fail to come to class regularly.
- Come to class late.
- Talk to other students during class.
- Use the computer for anything other than CS 2073 during class.
- Fail to pay attention when Jiménez is talking.
- Use mobile devices during class (cell phone, iPod, PDA, etc.).
- Fall asleep during class.