CSC
150 – Computer Science I – 3 Credit Hours
Fall
2007
Class Meetings: S02: MWF 11:00–11:50 SWSC 100; S03: MWF 2:00–2:50 SWSC 102
Instructor: Paula Kurtenbach Office
Location: AD 144A
Office Hours: Tues & Thurs 1:00 – 3:00 pm Office Phone: (605) 688-4533
E-mail: paula.kurtenbach@sdstate.edu Campus Lab: Admin 142
WebCT: http://webct.sdstate.edu Tech Support: (605)
688-6776
Course Description
An
introduction to computer programming.
Focus on problem solving, algorithm development design, and programming
concepts. Topics include sequence,
selection, repetition, functions, and arrays.
Course Prerequisites:
No course prerequisites.
Technical Requirements
Writing C++ Programs: Ways to Write C++ Programs
Text: “Starting Out with C++, From Control Structures through Objects” 5th Edition
by Tony Gaddis. The publisher is Addison-Wesley.
SDSU
Bookstore: http://www.sdstatebookstore.com/
Objective
The
primary objective of this course is to introduce students to the fundamentals
of computer science emphasizing computer programming, logical development and
implementation of solutions to problems using a high level programming language
such as C++.
Goals
·
Able to apply knowledge of computer
science, mathematics, and science.
·
Able to design, test, and implement
software, as well as to analyze and interpret data and programs.
·
Able to solve future problems by
applying techniques and skills learned in this course using modern software
tools.
Outcomes
A Student who successfully completes
this course should be able to:
·
Write,
Edit, Compile, Link, and Run C++ computer programs.
·
Perform
standard program input and output using the keyboard and the monitor.
·
Declare
and use user-defined variables, and constants using the appropriate data types.
·
Declare,
define, and call user-defined functions.
·
Write
and evaluate expressions using arithmetic, relational and logical operators.
·
Control
the flow of program execution using the appropriate sequential, selection, and
repetition statements.
·
Process
lists of values – defining, creating, traversing, and sorting.
·
Define
user-defined data types using built-in types and other language constructs.
·
Process
data that is stored in external text files.
Instructional Methods
Classtime will include a mixture of
lecture, discussion and in-class activities.
To excel in this course, you must read the text, attend class and take
notes before completing the learning activities and programming
assignments. Many of the programming segments
on the quizzes and exams are directly related to the programming assignments. Programming assignments become more difficult
as the course progresses. It is very important to stay caught up and
to start the programming assignments early in order to do well in the
course.
Your course grade will be determined by
a combination of Quiz, Learning Activity, Programming Assignment, and Exam
scores as noted below:
Grading/ Evaluation Procedures: Grading
Scale:
Quizzes 10% 90-100% = A
Learning Activities 10% 80-89%
= B
Programming
Assignments 20% 70-79% = C
Exam
1 20% 60-69% = D
Exam 2 20% 0-59% = F
Total 100%
Quizzes
Each unit in this course includes a quiz which asks you to answer open-ended
questions about the material in the unit.
For most quizzes, you will need to describe the concepts discussed in
the unit, give the output of short programming segments and write short
programming segments to fit specific criteria. Most quizzes do not include True/False, Matching, or Multiple Choice questions.
The
purpose of the quizzes is to help you focus on the course materials and to give
you an idea of what to expect on the exams.
The quizzes may be given in class, or via WebCT.
Assignments
Each unit in this course includes Learning Activities which may ask you to
answer text book questions, complete short programming exercises, or design
solutions to problems. Solutions will be
collected during class, usually at the beginning of the hour, on the assignment
due date. Assignments completed using a
word processing program must be printed and turned in during class. Late Learning Activity Assignments will only
be accepted until the class period following the assignment due date and will
receive a deduction of 10% per day in accordance with the late work policy
stated below.
Each
unit in this course also includes a Programming Assignment. To complete each programming assignment, you
must design, write and test a computer program.
Your design must be recorded and submitted in WebCT, along with your
working program (source code file). It
is your responsibility to completely test your program so that it meets the
criteria specified in the programming assignment. I will run each program and test it against
those same criteria to make sure that it is correct.
All
programming assignments must be coded in C++ and must compile and run under
Linux. You may use the computers in
Admin 142 to write your programs, you may use your own computer to login to the
SDSU Linux server and write your programs, or you may use a different program
to write and debug the programs on your own computer. If you choose to use a windows-based application
to write the programs, it is best to ‘ftp’ the files to the SDSU Linux server
and run them under Linux to verify their operability before submitting them in
WebCT. Directions for transferring and
running programs on the Linux server or for installing Linux on your computer
are available at: http://www.engineering.sdstate.edu/~gamradtk/computers/comps.html
Programming assignments will be posted at
least one week in advance of their due date.
Programming assignments must be submitted
by 11:55 pm on the due date or they will receive a reduction in points of 10%
per day. Assignments turned in more
than one week after the due date will not be accepted and will receive a zero grade. Programming assignments that are turned in
but do not compile will be returned to the student to be “fixed and
resubmitted”. They will receive the late
grade reduction of 10% per day when fixed and re-submitted, in keeping with the
late work policy.
Exams
Each
student must write 3 exams. Two exams will be given at 7:00 am, usually
in Crothers Engineering Hall, Room 204, during the semester. The final exam is comprehensive and will be
given during finals week. All exams
contain short answer and essay questions some of which require students to
analyze or write programs or program segments.
Exams are closed book, closed notes.
Programmable calculators (including TI Graphing Calculators) may not be used during the exams. Exams are designed so that students who write
their own quality programs for the programming assignments should be able to
score well on them.
Students
who are unable to take an exam at the specified date/time must notify
the instructor as soon as possible to make other arrangements. If an exam is missed without advance notice,
an alternate, make-up exam will be given with a reduction in points of 10% per
day in keeping with the Late-Grading-Procedure stated above. Exams not taken
within the week following the regular testing week will receive a zero grade.
Cheating and
Plagiarism Policy
All
students are expected to do their own work.
Students who turn in duplicate assignments will receive no more than ˝
credit for the assignment. Repeat
offenders will receive a zero grade for the assignment. Students who work together to figure out an
assignment, must each understand the solution well enough to write their own
unique program or answer. Upon discovery
of cheating/plagiarism, all prior work is subject to review and a change of
grade. Anyone caught cheating on an exam will receive a zero grade for that
exam. In addition, violation of the
academic policy could result in disciplinary action by the University. Refer to SDSU Conduct Code 01:10:25 at http://studentaffairs.sdstate.edu/JudicialAffairs/StudentCode/Chapter10.pdf
for additional information.
Freedom in Learning
Students
are responsible for learning the content of any course of study in which they
are enrolled. Under Board of Regents and
University policy, student academic performance shall be evaluated solely on an
academic basis and students should be free to take reasoned exception to the
data or views offered in any course of study.
Students who believe that an academic evaluation is unrelated to
academic standards but is related instead to judgment of their personal opinion
or conduct should first contact the instructor of the course. If the student remains unsatisfied, the
student may contact the department head and/or dean of the college which offers
the class to initiate a review of the evaluation.
Student
Accommodations:
Students
who need special accommodations should contact the instructor and the Office of
Disability Services, Room 145 Binnewies Hall, (605) 688-4504, as soon as
possible. It is the student’s
responsibility to contact the Office of Disability Services to set up necessary
accommodations. The instructor must
receive permission from the Office of Disability Services in order for any
special accommodations to be given. For
more information, please refer to: http://www3.sdstate.edu/StudentLife/DisabilityServices/Index.cfm
.
Computer / Lab Use
Students
may use the Computer Science Lab located in Administration Bldg Room 142.
|
Sunday |
Monday - Thursday |
Friday |
Saturday |
|
Noon – 10:00 pm |
8:00 am – Midnight |
8:00 am – 5:00 pm |
Noon – 7:00 pm |
Note: Lab hours are also
posted in ADM 142. Please note special postings for holiday hours.
Programming Note
Learning
to program computers is fun & challenging.
It can also be very frustrating.
Please start on the programming assignments early & be persistent. When you get stuck, ask specific, well-worded
questions and keep trying!
Course Outline
Following
is a list of topics and approximate schedule for the course. The WebCT calendar contains the exact
schedule for this course and takes precedence over the information listed below.
|
Topic |
Time |
Objective |
|
Unit 1, Introduction to Computers |
1 week |
- Write, Edit, Compile, Link, and Run C++ computer programs. |
|
Unit 2, Introduction to C++ |
1.3 weeks |
- Declare and use user-defined variables and constants using the appropriate data types. - Perform standard program input and output using the keyboard and the monitor. |
|
Unit 3, Expressions and File I/O |
2 weeks |
- Write and evaluate expressions using arithmetic operators. -
Control the flow of program execution using the appropriate sequential
statements. - Process data that is stored in external text files. |
|
Unit 4, Decisions |
2 weeks |
- Write and evaluate expressions using relational and logical operators. - Control the flow of program execution using the appropriate selection statements. |
|
Mid-Term Exam, Units 1 – 4 |
.3 weeks |
- Unit 1 through Unit 4 Objectives |
|
Unit 5, Repetition |
2 weeks |
-
Control the flow of program execution using the appropriate repetition
statements. |
|
Unit 6, Functions |
2 weeks |
- Declare, define, and call user-defined functions. - Control the flow of program execution using the appropriate sequential statements. |
|
Unit 7, Arrays |
2 weeks |
- Process lists of values: defining, creating, traversing, and sorting. - Define user-defined data types using built-in types and other language constructs. |
|
Final Exam (Comprehensive) |
Finals Week |
- Unit 1 through Unit 7 Objectives |