South Dakota State University

CSC 150 – Computer Science I – Online (3 Credit Hours)

Spring 2014

Class Meetings: Online

Instructor: Paula Kurtenbach Office: Dak. Eng. Hall 125 / 688-4533

E-mail: Office Hours: email for appointment

D2L: https://d2l.sdbor.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

Configuring a computer to access D2L: https://d2l.sdbor.edu/shared/sdsu/require.htm.

Writing C Programs: See the Assignments Section below

Text: “Problem Solving and Program Design in C” 7th Edition by Jeri R. Hanly & Elliot B. Koffman. The publisher is Addison-Wesley/Pearson. ISBN-13 is: 978-0-13-293649-1. The cover of this book is gold and green.

SDSU Bookstore: http://www.sdstatebookstore.com/ or 1-800-985-8771
Barnes & Noble: http://www.barnesandnoble.com/w/problem-solving-and-program-design-in-c-jeri-r-hanly/1100032244

Directly from publisher: www.mypearsonstore.com

Amazon.com: http://www.amazon.com/Problem-Solving-Program-Design-ebook/dp/B007Q4T1AS

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 computer programs written in C.

·  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 a computer program(s) that meet specific criteria and take a unit quiz. Students must also write 3 exams, two during the regular semester and a comprehensive final exam. Each exam must be taken in a proctored environment which meets the guidelines described in the Exam section below. It is each student’s responsibility to obtain an approved proctor by 2 weeks before the 1st exam and to schedule and complete both exams within the week shown 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: Grading Scale:

Quizzes 5% 90-100% = A

Learning Activities 5% 80-89% = B

Programming Assignments 20% 70-79% = C

Exam 1 20% 60-69% = D

Exam 2 20% 0-59% = F

Comprehensive Final Exam 30%

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. 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 (.c 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 ANSI C and must compile and run correctly to receive full credit. You may use the computers in Daktronics Engineering Hall, Room 131 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 application, like Code::Blocks to write and debug the programs on your own computer. See Content – Tutorials in D2L for information about installing and using CodeBlocks. If you choose to use an application to write your programs, you may not use extra libraries or language extensions. You must use only the commands and include files that have been studied in class to receive full credit for your programs.

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 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 and will be graded as late work in keeping with the policy stated above.

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 and debug 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. You must schedule and complete each exam within the week shown on the D2L calendar. If you can drive to the SDSU Brookings campus for your exams I will be your exam proctor, if this is your situation, please send me an email in D2L to verify that you will take the exams with me.

If you are not able to take your exams in Brookings, it is your responsibility to find an exam proctor for this course. Please refer to the Proctoring Guidelines at: http://www.sdstate.edu/cee/for-students/proctor/index.cfm for more information. All proctors must be approved by me at least 2 weeks before the first exam. 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. Mail the form to me at the address shown below, or scan it and email it to me in D2L.

Paula Kurtenbach

EECS Dept, Box 2222

South Dakota State University

Brookings, SD 57007

Students who are unable to take an exam within the specified week must notify the instructor as soon as possible to make other arrangements. If an exam is missed without advance notice, a grade of 0 may be given for the exam.

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.

Student Accommodations:

Any student who feels s/he may need an accommodation based on the impact of a disability should contact Nancy Hartenhoff-Crooks, Coordinator of Disability Services (605-688-4504 or Fax, 605-688-4987) to privately discuss your specific needs. The Office of Disability Services is located in room 065, the Student Union.

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 / Time / Objective
Unit 1, Computers & Programming / 1 week / - Write, Edit, Compile, Link, and Run computer programs written in C.
Unit 2, Overview of C / 2 weeks / - Declare and use user-defined variables with appropriate data types.
- Perform standard program input and output using the keyboard and the monitor.
- Write and evaluate expressions using arithmetic operators.
Unit 3, Functions / 1.5 weeks / - Control the flow of program execution using the appropriate sequential statements.
- Declare, define, and call user-defined functions.
Exam 1, Units 1-3 / 60 minutes / - Unit 1 through Unit 3 Objectives
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.
Unit 5, Repetition / 2 weeks / - Control the flow of program execution using the appropriate repetition statements.
Unit 6, Pointers & Functions / 2 weeks / - Declare, define, and call user-defined functions.
- Control the flow of program execution using the appropriate sequential statements.
- Process data that is stored in external text files.
Exam 2, Units 4-6 / 60 minutes / - Unit 4 through Unit 6 Objectives
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.
Unit 8, Recursion / 1 week / - Process data using recursion.
Final Exam (Comprehensive) / 100 minutes / - Unit 1 through Unit 7 Objectives

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 courses 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.