CISC130S11 - University of St. Thomas

advertisement
CISC 130 COURSE SYLLABUS
UNIVERSITY OF ST. THOMAS
DEPARTMENT OF COMPUTER and INFORMATION SCIENCES
COURSE NUMBER:
CISC 130
COURSE NOTES:
Course notes accessible by students at:
http://courseweb.stthomas.edu/tpsturm/private/notes/cisc130
COURSE TITLE:
Problem Solving in the Natural Sciences (using C and Matlab)
ACADEMIC TERM:
Spring, 2011
CATALOG
DESCRIPTION:
(Formerly QMCS 130 and QMCS 230) Introduction to problem solving with
computers, using programming languages common to science and engineering
disciplines; logical thinking, design and implementation of algorithms; and
basic programming structures. Introduction to hardware and software: how
computers acquire, store, process, and output information; how computer
systems are designed, programmed, and tested. Students will use both a
scientific programming language and an application package designed to
implement programming features at a level more accessible to nonprogrammers. This course is designed for students majoring in Engineering or
the sciences. Majors in the Department of Computer and Information Sciences
should take CISC 131. Please see your academic advisor to ensure you select
the appropriate class. Lab included. NOTE: Students who receive credit for
CISC 130 may not receive credit for CISC 131.
MINIMUM
PREREQUISITE:
None
IDEAL
PREREQUISITES:
All courses numbered below 130 (in all departments) that are in the student's
planned program of studies.
TIME AND DAYS:
Lecture: Section 02:
Section 04:
Lab:
Section 02:
Section 04:
MEETING ROOM:
OSS 432
INSTRUCTOR:
Dr. Thomas P. Sturm
OFFICE:
Room 424 OSS
TELEPHONE:
(651) 962-5479
E-MAIL ADDRESS:
tpsturm@stthomas.edu
WWW HOME PAGE:
http://courseweb.stthomas.edu/tpsturm
BLACKBOARD
ACCESS
Section02:https://blackboard.stthomas.edu/webapps/portal/frameset.jsp?tab=co
urses&url=/bin/common/course.pl?course_id=_67901_1&frame=top
Section04:https://blackboard.stthomas.edu/webapps/portal/frameset.jsp?tab=co
urses&url=/bin/common/course.pl?course_id=_66957_1&frame=top
CISC 130
9:35 to 10:40 A.M. on Monday, Wednesday and Friday
10:55 A.M. to Noon on Monday, Wednesday, and Friday
8:00 to 9:40 A.M. on Thursday
9:55 to 11:35 A.M. on Thursday
1
Problem Solving in the Natural Sciences
OFFICE HOURS:
1:30 to 3:00 P.M. on Monday and Wednesday.
You may also call for an appointment outside of these hours.
CREDIT
STATEMENT:
This course satisfies a curriculum requirement for various majors and minors.
It does not satisfy a requirement for the natural science, mathematical, and
quantitative reasoning in the core curriculum.
REQUIRED
TEXTBOOKS:
(Kaplan) Kaplan, Daniel T. Introduction to Scientific Computation and
Programming. Brooks/Cole. 2004. ISBN 0-534-38913-9.
http://www.brookscole.com/cgiwadsworth/course_products_wp.pl?fid=M20b&product_isbn_issn=978053438
9130&discipline_number=38
Access to Programs and Data Files at: http://www.brookscole.com/cgiwadsworth/course_products_wp.pl?fid=M20b&product_isbn_issn=978053438
9130&discipline_number=38
(K&R) Kernighan, Brian W. and Ritchie, Dennis M. The C Programming
Language. Second Edition. Prentice-Hall, Inc. 1988. ISBN 0-13-110362-8.
http://www.pearsonhighered.com/educator/academic/product/0,3110,0131103
628,00.html
IDEA LEARNING
OBJECTIVE #1:
“Gaining factual knowledge (terminology, classifications, methods,
trends)”
1. Understand computer hardware and software, and their differences.
2. Understand the philosophy of the Matlab application package and the C
programming language and their differences.
3. Understand data acquisition, storage, processing, and output.
IDEA LEARNING
OBJECTIVE #2:
“Learning fundamental principles, generalizations, or theories”
1. Employ varied methodologies to solve problems in a general sense.
2. Understand programming languages and application packages and their
differences.
3. Understand the process of investigation and problem solving.
IDEA LEARNING
OBJECTIVE #3:
“Learning to apply course material (to improve thinking, problem
solving, and decisions)”
1. Investigate alternative methods for solving the "same" problem, assessing
effort, effectiveness, and machine efficiency.
2. Assess the appropriate use of computer tools to solve any particular
problem.
3. Use appropriate computer software as a companion in solving a variety of
mathematical, science, and engineering problems.
IDEA LEARNING
OBJECTIVE #4:
“Developing specific skills, competencies, and points of view needed by
professionals in the field most closely related to this course.”
1. Write Matlab scripts to solve a variety of mathematical, science, and
engineering problems.
2. Design, write, document, and debug C programs.
3. Write programs in Matlab and/or C to analyze data and explore algorithms.
CISC 130
2
Problem Solving in the Natural Sciences
DISABILITIES:
Students with disabilities who may need classroom accommodations should
make an appointment with the Enhancement Program – Disability Services
office as soon as possible. Appointments can be made by calling 651-9626315. You may also make an appointment in person in O’Shaughnessy
Educational Center, room 119. For further information, you can locate the
Enhancement Program on the web at
http://www.stthomas.edu/enhancementprog/. Students with documented
disabilities who may need classroom or exam accommodations must meet with
me in my office by February 11.
EXAMS:
There are a total of four exams. Exam dates are fixed as shown on the Course
Outline. Students who will be unable to attend on the day of a scheduled exam
should make special arrangements with the instructor prior to the exam date.
Where true emergencies make prior arrangements impossible, students should
contact the instructor as soon as possible. Special exams will be given, graded,
and counted at the sole discretion of the instructor. All exams must be taken.
LABS:
Laboratory assignments are to be done individually. Help in any form must be
properly acknowledged in writing. Work is expected to be done in a
professional manner. Laboratory work is assigned at the end of the
Wednesday lecture, begun during the laboratory session on Thursday,
completed outside the lab session, and submitted at the beginning of the next
Monday’s lecture. Placing your name (or allowing it to be placed) on work
you did not make a significant contribution toward is a reportable violation of
the University's Academic Integrity Policy.
CLASS
PARTICIPATION
AND
ATTENDANCE:
Students are expected to attend all lecture and lab sessions throughout the
entire semester. Students are expected to come to class prepared to do that
day's lab or actively participate in that day's lecture. Students are expected to
keep up with the readings, lab assignments, BlackBoard posting, and instructor
e-mail. No web browsing, cell phone usage, texting, etc. is allowed in class or
during labs.
AVAILABILITY OF
SOFTWARE:
Matlab R2009b (7.9.0.529) is installed on all CISC, GPS, and ENGR lab
computers. A student version of Matlab R2010a, containing more features
than are installed on our lab computers, is available for about $100. The
Code::Blocks C version 10.05 development environment is installed on all
CISC lab computers. Students can download and install a free copy of
Code::Blocks on their own computers. Visit http://www.codeblocks.org/ for
details and to download codeblocks-10.05mingw-setup.exe
COURSE
AVERAGE
COMPUTATION:
3 Exams on 2/21, 3/18, 4/18
2-part Final Exam on 5/17 or 5/18
Laboratory Exercises
CISC 130
3
40% of grade
20% of grade
40% of grade
Problem Solving in the Natural Sciences
GRADE
GUIDELINES:
At the end of the semester, the point total in each category is divided by the
points possible in that category, then that percentage is weighted as indicated
above to calculate an overall percentage, which in turn is equated with a letter
grade. The ranges indicated below are intended as guidelines, not as absolutes.
92% to 100%
88% to 92%
84% to 88%
80% to 84%
76% to 80%
72% to 76%
A
AB+
B
BC+
68% to 72%
64% to 68%
60% to 64%
56% to 60%
52% to 56%
below 52%
C
CD+
D
DF
CISC 130 LECTURE OUTLINE (MWF):
Day
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Date
1/31
2/2
2/4
2/7
2/9
2/11
2/14
2/16
2/18
2/21
2/23
2/25
2/28
3/2
3/4
3/7
3/9
3/11
3/14
3/16
3/18
22
3/28
CISC 130
K&R
Chaps.
1
1
1
1
1
Notes
Parts
PS
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
1
1
1
1
M
1
Kaplin
Chaps.
1
2
3
3
4
4
4
5
5
1-4
6
6
7
7
8
8
5-8
Topic(s)
Problem solving
Matlab computations
Data types, number systems
Collections, plotting
Matrices
Indices
Mixed data
Files
Scripts
Exam 1
Functions and Function files
Function documentation and multiple returns
Conditionals
Switches
Loops
Conditional looping
Introduction to C
Looping examples
Character input/output examples
Array examples
Exam 2
SPRING BREAK
Function examples
4
Problem Solving in the Natural Sciences
23
24
25
26
27
28
29
30
31
32
3/30
4/1
4/4
4/6
4/8
4/11
4/13
4/15
4/18
4/20
2
2
2
2
2
3
3
3
1-3
4
2
2
2
2
2
2
2
2
1-2
3
33
34
35
36
37
38
39
40
4/27
4/29
5/2
5/4
5/6
5/9
5/11
5/13
5/17
4
4
4
4
5
5
5
5
1-5
3
3
3
3
3
3
3
3
1-3
1-8
5/17
All
All
All
5/18
1-5
1-3
1-8
5/18
All
All
All
CISC 130
Function prototyping
Variables and constants
Scope, lifetime, initialization
Operators and type conversion, bit manipulation
Conditional expressions, macros, operation order
Control flow
Switch/Case
Exception flow
Exam 3
Functions
EASTER BREAK
Parameters
(The evils of) Global variables
Scope, lifetime
Initialization
Pointers
Arrays
(The evils of) Address arithmetic
Multidimensional arrays
Section 04 FINAL EXAM - Part 1 10:30 A.M. to 11:30
A.M. (Closed book, closed notes, with computer)
Section 04 FINAL EXAM - Part 2 11:30 A.M. to 12:30
P.M. (Closed book, closed notes, no computer)
Section 02 FINAL EXAM - Part 1 8:00 A.M. to 9:00 A.M.
(Closed book, closed notes, with computer)
Section 02 FINAL EXAM - Part 2 9:00 A.M. to 10:00
A.M. (Closed book, closed notes, no computer)
5
Problem Solving in the Natural Sciences
CISC 130 LAB OUTLINE (Th):
Lab
Due
No. Date Date
1
2/3
2/7
K&R
Chaps.
Notes Kaplin
Parts Chaps.
PS
1,2
2
2/10
2/14
M
3
3
2/17
2/21
M
4
4
2/24
2/28
M
5
5
3/3
3/7
M
6
6
3/10
3/14
M
7,8
7
3/17
3/28
1
1
8
3/31
4/4
1
1
9
4/7
4/11
2
2
10
4/14
4/18
2
2
11
5/2
3
2
12
4/21
&28
5/5
5/9
4
2
13
5/12
5/17
&18
4
3
CISC 130
Topic(s)
Problem Solving: Ka Ex. 1.1, 1.2, 1.3, 1.5;
Matlab Expressions, Ka Ex. 2.1 (4 ways w/names),
2.3 (3 expressions w/values)
Types, text, Booleans: Ka Ex. 3.2 (with n=0, n=1,
n=2, n=25), 3.3 (sin (1/x) and sin(x)/x), 3.7 (1 part),
3.9, 3.11 (1 part)
Collections, matrices, subscripts, indexing: Ka Ex.
4.1 (2 parts), 4.3, 4.4, 4.5; Ka Ex. 3.5
Files, scripts, computation: Ka Ex. 4.8, 5.1, 5.2, roots
of a polynomial
Functions, arguments, documentation: Ka Ex. 6.1,
6.2 (5 parts), 6.3, 6.5, 6.9
Conditionals and loops in functions: Ka 7.1, 7.9, 8.1,
8.5, 8.15
Tutorial I: C Lab 1.1 parts 1 to 7; C Lab 1.2 parts
“for” and “while”; C Lab 1.3
Tutorial II: C Lab 1.4; C Lab 1.5 parts 1 to 3; Part 1
Supplement 1 and 2
Language Rules: Primes; C Lab 2.1 parts 1a to 1e; C
Lab 2.1 parts 2a to 2e
Types, Operators, Expressions: C Lab 2.3 parts 1 to
2; C array lab parts 1 to 12
Control Flow: K&R Chapter 3 Exercises 1 to 6
Functions: C Lab 3.1 parts 1 to 4; C Lab 3.2 parts 1
to 4
Program Structure: C Lab 3.3 parts 1 to 3
6
Problem Solving in the Natural Sciences
Download