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: / Fall, 2009
CATALOG DESCRIPTION: / (Formerly QMCS 130 and 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 non-programmers. 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: 9:55 to 11:35 A.M. on Tuesday and Thursday
Lab: Section 02: 9:35 to 10:40 A.M. on Monday, Wednesday ( and Friday)
MEETING ROOM: / OSS 432
INSTRUCTOR: / Dr. Thomas P. Sturm
OFFICE: / Room 424 OSS
TELEPHONE: / (651) 962-5479
E-MAIL ADDRESS: /
WWW HOME PAGE: / http://courseweb.stthomas.edu/tpsturm
BLACKBOARD ACCESS / http://blackboard.stthomas.edu/webapps/portal/frameset.jsp?tab=courses&url=/bin/common/course.pl?course_id=_54251_1&frame=top
OFFICE HOURS: / 1:45 to 3:45 P.M. on Monday and Thursday.
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/cgi-wadsworth/course_products_wp.pl?fid=M20b&product_isbn_issn=9780534389130&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,0131103628,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.
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-962-6315. 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 September 16.
H1N1 NOVEL INFLUENZA (AKA SWINE FLU) / There are ongoing concerns regarding the prevalence among university faculty, staff and students of both the H1N1 Novel virus and seasonal influenza. To help limit the spread of these illnesses, students, faculty, or staff with influenza like illnesses (temperature of 100.0 or greater, plus a cough or sore throat) are directed to self-isolate (or stay home) for at least 24 hours after their fever is gone without the use of fever-reducing medicine. In the event that students are unable to attend classes due to this self-isolation recommendation, they should consult the university’s pandemic web site http://www.stthomas.edu/pandemic and complete an on-line form informing professors of their absence. I will provide opportunities for these students to participate in alternative educational delivery due to this illness. IF YOU ARE SICK – STAY HOME.
EXAMS: / There are a total of four exams of equal weight. 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. All work finished during a laboratory session should be submitted prior to leaving the lab. Work completed outside the lab session should be submitted at the beginning of the next 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, and e-mail.
AVAILABILITY OF SOFTWARE: / Matlab R2009a (7.8.0.347) is installed on all QMCS, GPS, and ENGR lab computers. A student version of Matlab R2009a, containing more features than are installed on our lab computers, is available for about $100. The Code::Blocks C development environment is installed on all QMCS lab computers. We are using version 8.02 (2008-02-27). Students can download and install a free copy on their own computers. Visit http://www.codeblocks.org/ for details.
COURSE AVERAGE COMPUTATION: / 4 Exams on 9/30, 10/26, 11/18, 12/17
Laboratory Exercises
Class & Lab Participation & Attendance / 50% of grade
40% of grade
10% of grade
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% / A / 68% to 72% / C
88% to 92% / A- / 64% to 68% / C-
84% to 88% / B+ / 60% to 64% / D+
80% to 84% / B / 56% to 60% / D
76% to 80% / B- / 52% to 56% / D-
72% to 76% / C+ / below 52% / F

CISC 130 LAB OUTLINE (MWF):

Day / K&R / Notes / Kaplin
No. / Date / Chaps. / Parts / Chaps. / Topic(s)
1 / 9/9 / PS / 1 / Intro. Course, Matlab, C; Info Form; Ka Ex. 1.1 to 1.6
2 / 9/11 / Help session
3 / 9/14 / M / 2 / Ka Ex. 2.1 (4 parts) and 2.2
4 / 9/16 / M / 2 / Ka Ex. 2.3 (3 expressions) and 2.4 (3 expressions)
5 / 9/18 / Help session
6 / 9/21 / M / 3 / Ka Ex. 3.1, 3.2, 3.3 (6 plots), 3.4 (2 parts), 3.5, and 3.6
7 / 9/23 / M / 3 / Ka Ex. 3.7 (3 parts). 3.8, 3.9, 3.10, 3.11 (2 parts), and 3.12
8 / 9/25 / Help session
9 / 9/28 / M / 4 / Ka Ex. 4.1 (2 parts), 4.2 (4 parts), 4.3, 4.4, 4.5, 4.6 (2 parts), 4.7 (4 parts), and 4.8
10 / 9/30 / M / 1-4 / EXAM 1
11 / 10/2 / Help session
12 / 10/5 / M / 5 / Ka Ex. 5.1, 5,2, 5.3, 5.4, and [5.5]
13 / 10/7 / M / 6 / Ka Ex. 6.1, 6.2 (7 parts), 6.3 to 6.10, 6.11 (both ways), 6.12, 6.13 (3 parts), 6.14, and` 6.15
14 / 10/9 / Help session
15 / 10/12 / M / 7 / Ka Ex. 7.1 to 7.7
16 / 10/14 / M / 7 / Ka Ex. 7.8 to 7.13
17 / 10/16 / Help session
18 / 10/19 / M / 8 / Ka Ex. 8.1 to 8.14
19 / 10/21 / M / 8 / Ka Ex. 8.15 to 8.28
20 / 10/23 / Help Session
21 / 10/26 / M / 5-8 / EXAM 2
22 / 10/28 / 1 / 1 / C Lab 1.1 parts 1 to 7
10/30 / Mid-Semester Break
23 / 11/2 / 1 / 1 / C Lab 1.2 parts “for” and “while” and 1.3
24 / 11/4 / 1 / 1 / C Lab 1.4 and 1.5 parts 1 to 2
25 / 11/6 / Help Session
26 / 11/9 / 1 / 1 / C Lab 1.5 parts 3 and [4] and Part 1 suppl. 1, 2, and [3]
27 / 11/11 / 2 / 2 / Primes, C Lab 2.1 parts 1a to 1e
28 / 11/13 / Help Session
29 / 11/16 / 2 / 2 / C Lab 2.1 parts 2a to 2e; [Lab 2.2 parts 1 and 2a to 2d]
30 / 11/18 / EXAM 3
31 / 11/20 / Help Session
32 / 11/23 / 3 / 2 / C Lab 2.3 parts 1 to 2
33 / 11/25 / 3 / 2 / [Lab 2.4 parts 1 to 3]; [Part 2 supplement 1 to 3]
11/27 / Thanksgiving Break
34 / 11/30 / 3 / 2 / C array lab parts 1 to 12
35 / 12/2 / 4 / 3 / C Lab 3.1 parts 1 to 4
36 / 12/4 / Help Session
37 / 12/7 / 4 / 3 / C Lab 3.2 parts 1 to 4
38 / 12/9 / 5 / 3 / C Lab 3.3 parts 1 to 3
39 / 12/11 / Help Session


CISC 130 LECTURE OUTLINE (TuTh):

Day / K&R / Notes / Kaplin
No. / Date / Chaps. / Parts / Chaps. / Topic(s)
1 / 9/10 / PS / 1 / Problem solving
2 / 9/15 / M / 2 / Matlab computations
3 / 9/17 / M / 3 / Data types
4 / 9/22 / M / 3 / Collections, plotting
5 / 9/24 / M / 4 / Matrices, indices, mixed data
6 / 9/29 / M / 5 / Files
7 / 10/1 / M / 5 / Scripts
8 / 10/6 / M / 6 / Functions
9 / 10/8 / M / 7 / Conditionals
10 / 10/13 / M / 7 / Switches
11 / 10/15 / M / 8 / Loops
12 / 10/20 / M / 8 / Conditional looping
13 / 10/22 / 1 / 1 / Introduction to C
14 / 10/27 / 1 / 1 / Looping examples
15 / 10/29 / 1 / 1 / Character input/output examples
16 / 11/3 / 1 / 1 / Array examples
17 / 11/5 / 1 / 1 / Function examples
18 / 11/10 / 2 / 2 / Variables and constants
19 / 11/12 / 2 / 2 / Operators and type conversion
20 / 11/17 / 2 / 2 / Conditional expressions, macros, operation order
21 / 11/19 / 3 / 2 / Control flow
22 / 11/24 / 3 / 2 / Exception flow
11/26 / Thanksgiving Break
23 / 12/1 / 4 / 3 / Functions, parameters vs. global variables
24 / 12/3 / 4 / 3 / Scope, lifetime, initialization
25 / 12/8 / 5 / 3 / Pointers, arrays, address arithmetic
26 / 12/10 / 5 / 3 / Multidimensional arrays
12/17 / EXAM 4 – 10:30 A.M. to 12:30 P.M.

CISC 130 1 Problem Solving in the Natural Sciences