CSc 150 – COMPUTER SCIENCE I - South Dakota State University

advertisement
South Dakota State University
CSC 150 – Computer Science I – Online (3 Credit Hours)
Spring 2011
Class Meetings:
Instructor:
Office Hours:
E-mail:
D2L:
Online
Paula Kurtenbach
Call for an Appointment
paula.kurtenbach@sdstate.edu
https://d2l.sdbor.edu/
Office Location:
Office Phone:
Campus Lab:
Tech Support:
ECS 125
(605) 688-4533
ECS 124
(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: None
Technical Requirements
Configuring a computer to access D2L: http://learn.sdstate.edu/online/require.htm.
Writing C++ Programs: See the Assignments Section below
Text: “Starting Out with C++, From Control Structures through Objects” 6th Edition by Tony Gaddis.
The publisher is Addison-Wesley. ISBN-13 is: 978-0-321-54588-6
SDSU Bookstore: http://www.sdstatebookstore.com/ or 1-800-985-8771
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
For each unit in this online course, students must read the text, view the online notes, complete the
learning activities, design, code and test computer program(s) that meet specific criteria and take a unit
quiz. Students must also write 3 exams, two exams which are given during the semester and a
comprehensive final exam which is given during finals week. Each exam must be taken in a proctored
environment which meets the guidelines described below. It is each student’s responsibility to obtain
an approved proctor by 2 weeks before the 1st exam and to schedule and complete all exams within the
week shown for the exam on the D2L calendar.
This course is not self-paced. You must complete the activities and assignments by the date shown in
the Calendar and Dropbox Tools of D2L. Late work will receive a reduction of 10% per day up to 1
week following the due date. Work not submitted by 1 week following the due date will receive a zero
grade. Quizzes not taken within the time specified in the D2L quiz tool will receive a score of 0.
To excel in this course, you must read the text and view the online notes before completing the learning
activities and programming assignments. Many of the questions on quizzes and exams include code
that you must analyze or write. Many times, these questions 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:
Quizzes
10%
Learning Activities
10%
Programming Assignments 20%
Exam 1
20%
Exam 2
20%
Final Exam
20%
Total
100%
Grading Scale:
90-100% = A
80-89% = B
70-79% = C
60-69% = D
0-59%
=F
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. Each quiz must be
taken with the lock-down browser which can be installed by using the link that you’ll see when you start
the quiz. Quizzes are available for a limited time (usually 1-2 days) and once started, must be
completed within a specified time limit (usually 30-45 minutes). 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.
It is your responsibility to install the lock-down browser and to complete the quizzes on time.
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. For each activity, you must
create a text document as stated in the directions for the activity. You turn in the assignment by
uploading your file and submitting it in the Dropbox Tool of D2L.
Each unit in this course also includes a Programming Assignment. To complete the programming
assignment, you must design, write and test one or more computer programs. Starting with
Programming Assignment 2, your design must be recorded and submitted along with your working
program source code (.cpp file). Most programming assignments will ask you to submit your design for
feedback / approval before you begin coding. 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 on either the SDSU
Linux server or a windows-based program called Dev C++.
You may use the computers in EECS 124 to write your programs, you may use your own computer to
login to the SDSU Linux server and write your programs, or you may download and install Dev C++ or
another application on your own Windows-based computer and use it to write and debug your
programs.
The D2L course shell has links to Dev C++ and tutorials that show you how to download install and use
it. Look under Course Materials, Links and Tutorials. If you choose to use a windows-based
application other than Dev C++ to write your 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 D2L. 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.
If you’re not sure how you want to write your programs, I recommend using Dev C++. Most students
find it to be the best/easiest option for completing the programming assignments.
Learning activities and programs will be submitted via the Dropbox tool in D2L. Programming
assignments will be posted at least one week in advance of their due date. Assignments must be
submitted by 11:59 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 resubmitted, in keeping with the late work policy. Homework that is not fixed and turned in will receive a
zero grade.
Exams
Each student must write 3 exams. Two exams will be given 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 and/or write programs and/or program segments.
Exams are closed book, closed notes. Electronic devices, including programmable calculators,
graphing calculators, cell phones, and headphones/earphones may not be used during the exams.
Students who write their own quality programs for the programming assignments should be able to
score well on the exams.
Each exam will be given in a proctored environment. It is each student’s responsibility to schedule and
complete each exam within the week shown on the D2L calendar. Please refer to the Proctoring
Guidelines at: http://www.sdstate.edu/cee/for-students/index.cfm for more information on finding a
proctor and taking proctored exams. It is your responsibility to find an exam proctor for this
course. I must approve your exam proctor at least 2 weeks before the first exam. Read the
guidelines at the above link. When you’ve found an appropriate proctor, complete the proctor form
available at the above link, make sure that the proctor agrees to the guidelines specified, ask the
proctor to sign the form and then mail the form to me at the address shown below, or scan it and email
it to me in D2L.
Paula Kurtenbach
EECS Department
Box 2222
SDSU
Brookings, SD 57007
Students who are unable to take an exam within the specified week must notify me as soon as
possible to make other arrangements. If an exam is missed without advance notice, a 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.
Violation of the academic policy could also result in disciplinary action by the University. For additional
information, refer to SDSU Conduct Code 01:10:25 at
http://studentaffairs.sdstate.edu/JudicialAffairs/StudentCode/Chapter10.pdf.
Freedom in Learning
Under Board of Regents and University policy student academic performance may be evaluated solely
on an academic basis, not on opinions or conduct in matters unrelated to academic standards.
Students should be free to take reasoned exception to the data or views offered in any course of study
and to reserve judgment about matters of opinion, but they are responsible for learning the content of
any course of study for which they are enrolled. Students who believe that an academic evaluation
reflects prejudiced or capricious consideration of student opinions or conduct unrelated to academic
standards should first contact the instructor of the course to initiate a review of the evaluation. 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:
SDSU is committed to providing reasonable accommodations to students who have a documented
disability (e.g., physical, learning, psychiatric, vision, hearing, or systemic) that may affect their ability to
participate in course activities or to meet course requirements. Students are encouraged to contact
Nancy Hartenhoff-Crooks, Coordinator of Disability Services for a confidential discussion of their
individual needs for academic accommodations. The Office of Disability Services is located in 125
Wintrode. Staff can be reached by calling 605.688.4504 or emailing Nancy.Crooks@sdstate.edu.
Computer / Lab Use
Students may use the Computer Science Lab located in room 124 of the new EECS building. Lab
hours are posted on the door of the room. 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 D2L calendar contains the
exact schedule for this course and takes precedence over the information listed below.
Topic
Unit 1, Introduction to
Computers
Unit 2, Introduction to C++
Time
1 week
Objective
1 week
Unit 3, Expressions and File
I/O with an Introduction to
Functions
2.6 weeks
Exam 1, Units 1-3
.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.
- 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.
- Declare, define, and call user-defined functions.
- Unit 1 through Unit 3 Objectives
Unit 4, Decisions
2 weeks
Unit 5, Repetition
2 weeks
Unit 6, Functions
1.3 weeks
Exam 2, Units 4-6
.3 weeks
Unit 7, Arrays
2 weeks
Final Exam (Comprehensive)
Finals Week
- Write, Edit, Compile, Link, and Run C++ computer
programs.
- Write and evaluate expressions using relational and logical
operators.
- Control the flow of program execution using the appropriate
selection statements.
- Control the flow of program execution using the appropriate
repetition statements.
- Declare, define, and call user-defined functions.
- Control the flow of program execution using the appropriate
sequential statements.
- Unit 4 through Unit 6 Objectives
- Process lists of values: defining, creating, traversing, and
sorting.
- Define user-defined data types using built-in types and other
language constructs.
- Unit 1 through Unit 7 Objectives
Download