COSC 1123 Laboratory Course

Weekly Lab Schedule

General Information

InstructorOffice LocationPhone Email Fax
Dr. Laura J. Baker Andre Hall #211 (512)448-8675
lbaker@acad.stedwards.edu
(512)448-8492


Course Description:

A laboratory based course closely related to
COSC 1323 in which students are expected to show competence in compiling, editing, and writing structured code. Students will be expected to construct programs in a high-level language(C++) using structured techniques and designs. Students will demonstrate correctness of their code. Students will learn to effectively use a multi-tasking operating system platform and editor for constructing programs.

Prerequisites:

COSC 1323 or CONCURRENT enrollment.

Learning Outcomes:

Students completing this course shall demonstrate the ability to program general problems in a high-level programming language using a multi-user operating system. Students will be able to compile, debug, and test programs in a high-level language for correctness. Students will be able to code general I/O problems, loops, decisions, arrays, recursive problems and simple abstract data types. In addition students will be able to read and modify existing class libraries and understand class interfaces and implementations.

Role In the Curriculum:

This course is a Co-requisite of the first required course for CS/CIS majors. This course is also intended to serve as a course for transfer students who have credit for COSC 1323 but do not know the high level language used for instruction. These students may take this course as a supplement to their previous credit for COSC 1323 to allow them to continue in the curriculum with knowledge of the high level language.

Required Text:

Using C++ An Introduction to Programming by Hennefeld, Baker and Burchard, Brooks/Cole, 2003. ISBN 0-534-37484-0.

Recommended Text:

C/C++ Programmer's Reference by Schildt. ISBN 0-07-882367-6 available at Amazon.com

Student Evaluation Techniques:


10 Laboratory Assignments 60%
MidLab Exam 20%
Final Lab Exam 20%

*****In order to pass the course more than 60% of lab assignments must be turned in and must be correct. A grade of A may only be earned if all assigned projects are turned in and a grade of 70% or higher is received on all labs.

Grading of Labs

  1. Each lab is worth 100 points.
  2. Missing a lab (absence) is an automatic 50 points off, the lab must still be completed or all points are lost.
  3. Any late lab will only be accepted up to 1 week late for a penalty of 25 points.
  4. There will be 10 labs plus a lab midterm and final exam.

Grades based on the following scale with previous constraints:
90-100 A
80-89 B
70-79 C
60-69 D
below 60 F

Attendance Policy:

Attendance in class is strongly recommended and will be taken every class day. Students are penalized 50% on any lab for missing a laboratory. Students are responsible for all material and assignments given in class whether they are present or not. It is the responsibility of the student to obtain notes, assignments, etc. for any missed class from a fellow student. ATTENDANCE IS MANDATORY FOR ALL EXAMS. Absolutely no makeup exams will be given. Explicit written documentation must be provided for a University excused absence (illness or school function -- see student handbook)

It is entirely the responsibility of the student to withdraw from the course due to excessive absences (3 or more class hours). The instructor MAY drop any student from the class due to excessive absences. If a student has excessive absences and fails to drop the class, a grade of F may be assigned.

Homework Assignments: Many of the lab exercises will not be completed by the end of lab time. These will be given as homework and will be due at the time specified each week. Students will be expected to finish incomplete lab work on their own as homework. Each student in class will be assigned a computer account on the multi-user academic system for email and web pages, and a separate account on the Natural Sciences risc system for use of the C++ compiler. The risc systems is a SEPARATE system from the academic system and students must be responsible for maintaining that account.

Access to these computer systems is available in Moody Hall 126, 206, 212, 306, and various campus locations as well as through modem dial-up lines. Many times assignments or messages will be given through electronic mail on the academic system. It is the student's responsibility to become proficient at using electronic mail and simple Unix operating system commands in order to complete assignments for the class. This will be covered during lab, but students are strongly encouraged to attend workshops to learn more. Several workshops are offered by Instructional Technology on the use of email and HP Unix commands as well as World Wide Web, students are strongly encouraged to take these courses on their own time to learn more about these topics.

Incompletes: A grade of incomplete is assigned at the end of the semester only if a student (1) has attended class regularly , (2) has completed most of the required course work, and (3) Is unable to complete the course because of a a documented emergency beyond the student's control. Incompletes are NOT assigned to give a student the opportunity to do extra credit work to receive a higher grade. A written request for an incomplete must be submitted tot the instructor before the last day of class. All incompletes must be approved by the Dean of Natural Sciences.

Learning Different: If you have a certified disability and/or handicap that requires special consideration with respect to your class performance, please inform me privately of any special needs you may have before the third class day.

Weekly Schedule


Course Outline:

Hours Topics
1.5 Editing, compiling, running a program. Brief file operations, use of multi-user system. Finding and correcting program errors, error messages. Creating and using makefiles.
2 Basic components of a program, input, output, assignments working with numeric expressions, simple functions, semantics continue working with debugging techniques.
1.5 File I/O, top-down programming, logical expressions, selection and decision statement examples. Nested logic and test plan creation.
1.5 Looping, Count-controlled, event-controlled loop examples. Nested loops, debugging loops, semantics of loops.
1.5 Loops and repetition, while, repeat, for loops, data validation, sentinel value loops, nested loops, practice problems with loops
3 Functions with and without parameters, value and reference parameters, scope and lifetime of variables. Testing and debugging functions, modular cohesion, pre and post conditions.
3 1 dimensional arrays and strings, using pre-defined libraries. Reading and interpreting object descriptions, using pre-defined libraries in programs. Enumerated types, simple sorting, traversing arrays.
3 Simple lists and object-oriented concepts. Records with arrays, encapsulation techniques.
2 2 Examinations, 1 midterm and 1 final.


Last revised: