CISP 360: Introduction to Structured Programming
Spring 2024 (4 Units)
Lecture: Online (code 11028)
Lab: Thu 5:30pm-8:05pm STEM 208 (code 11029)
Lab attendance is mandatory.
Professor Damon Antos' contact information
Phone:
916-484-8252
Web site: https://ic.arc.losrios.edu/~antosd/
Email: antosd@arc.losrios.edu
Office Location: STEM 314 (faculty offices)
Spring 2024 Office Hours: Mon: 11:00am-11:30am (virtual), Tue: 4:00pm-5:20pm (office), Wed: 11:00am-11:30am (virtual)

Course Description

This course is an introduction to structured programming and objects. Topics include program design, documentation, testing, and debugging, as well as data representation, data types, variables, constants, and operators. It also includes control structures, functions, interactive and file input/output, standard libraries, arrays, pointers, structures, classes, and objects.

Course Prerequisite: A grade of C or better in either of CISP 300 (Algorithm Design/Problem Solving) or 370 (Beginning Visual Basic).
Refer to the ARC college catalog or class schedule for a description of these courses.

Student Learning Outcomes

Upon completion of this course, the student will be able to:

Required Course Materials

Textbook: All required textbook readings were compiled from the following three textbooks and are made freely available within the class Canvas website. All three textbooks are provided via Creative Commons license CC-BY-NC

Some quizzes and exercises have been derived from: Busbee, K.L. Programming Fundamentals - A Modular Structured Approach using C++ found at http://cnx.org/content/col10621/1.22.

The following textbook is recommended if the student desires further study in C++: Gaddis, T., Starting Out with C++: From Control Structures through Objects, Third Edition or newer. Addison-Wesley. Students not planning on continuing through CISP 400 might purchase the corresponding brief edition.

Lab Materials: Completion of exercises and projects require access to a computer loaded with an ANSI/ISO Standard C++ compiler. The Code::Blocks C++ language Integrated Development Environment (IDE) is recommended since all instruction in this class will be given using this IDE.

Important Notice

Students are responsible for reading and following all of the instructions in this course syllabus and any other materials distributed during the course, including those distributed on-line. Students are also responsible for all information and instructions presented in the classroom or lab whether or not they are present.

The Tuesday section is a hybrid class. You may have noticed in the class schedule or eServices that portions of the Lab or Lecture are indicated as being To be announced or online, or the class itself is listed as Partially Online. You are only required to attend the class during the times specified for your class code for lecture and lab. For the "To be announced" or online part it will be your responsibility to read the textbook and instructor provided lecture notes, review videos, and submit assignments on the class website.

Due dates for all assignments are listed on the Lesson Plan page. Assignments are due by 11:59pm on the due date, unless indicated otherwise. It is recommended that activities assigned for on-ground labs are submitted during lab.

Evaluation and Grading

Quizzes and exams must be taken by the date specified in the course lesson plan. If you know ahead of time that you will need to miss a quiz or exam, arrangements may be made for you to take it early. Additionally, it is understood that at some time during the course an absence is unavoidable, perhaps resulting in a missed quiz. Therefore, the lowest activity, exercise, and quiz scores will be dropped from final grade calculations.

Unless specified otherwise, Activities and Exercises are due by midnight on the date specified in the course lesson plan. Late assignments will be severely penalized. Occasionally, assignments are reviewed during lecture on the due date; and frequently, assignments depend on work to be completed in prior assignments. If work is completed late on an assignment, it may result in a dependent assignment to be late as well. For this reason I strongly discourage late assignments by deducting 10 points for each 24 hour period (or fraction thereof) that it is turned in late.

For classes with a lab component, particularly for hybrid sections with an abbreviated lab period, you might not have enough time to complete your lab assignment during the lab portion of the class. Plan to spend some non-class time to complete it. Additional lab hours are available on campus. During certain times of the day some areas of the Business & Computer Science Lab are reserved for classes, so be sure to check the Open Lab Schedule for information concerning BCS Lab availability.

The grade in this course will be determined by student performance in several areas, and will be weighted as described in the following charts. Extra credit points will occasionally be given in quizzes, exercises, or the final examination.

Each student is evaluated on a number of different dimensions throughout this class:

Grade Assessment Weighting
Quizzes
10 best of 11@28 points each
(280 points) 28.0%
Activities
30 best of 31@5 points each
(150 points) 15.0%
Exercises
12 best of 13@15 points each
(180 points) 18.0%
Midterm Examination
2@150 points each
(300 points) 30.0%
Final Examination (90 points) 9.0%
Total Points 1000 points

Grade Assignment by Total Points
Points Obtained Total % Grade
Assigned
900+ 90% A
800+ 80% B
700+ 70% C
600+ 60% D
less than 600 below 60% F

Students are responsible for checking the accuracy of all of their own assignment scores on the class website. If there is a posted score appears to be incorrect, please notify the instructor within three days. If a score is not posted within one week of the due date for any submitted assignment, notify the instructor. Final scores will be posted within five days of the last final exam, and official class grades will be posted within ten days of the end of the term.

Attendance and Participation

All absences in this class are considered unexcused. All students are given the opportunity the drop the lowest grades for most assignments, thus accommodating last-minute sickness or emergencies.

Class participation is required in both face-to-face and on-line sections of this class. During the face-to-face portion of class, attendance will be taken at the start of each class meeting, and again at the end of the daily class activity. Students not present at the end of the day's class activity will not receive credit, and may be considered absent for that day.

Excessive absences may result in withdrawal from this course. LRCCD (Regulation R-2222) specifies that "a student may be dropped from any class when the student's absences exceed six percent (6%) of the total hours of class time." Note: missing one week in a full-term class results in missing at least 6.25% of the total hours of class time. Furthermore, students who have not attended the first session of class will be dropped as a no-show. Students who have not attended at least one of the first three sessions of a class will be dropped as a no-show following the third session of the class.

Face-to-face or hybrid class sections

If you are late or miss class, please take responsibility to find out what you have missed. All class meetings include a mandatory in-class activity. Classes which meet once per week may have multiple activities. If you fail to complete an activity during class, you will be assumed absent for that day. If you attend class but fail to complete the activity, make sure to notify your instructor of your attendance.

The instructor will not review missed lecture material or in-class activities with you. Refer to the class Lecture Notes and Assignments web page for missed notes and assignments.

Special note related to hybrid sections

Do not expect any lecture material to be presented during the lecture period. Hybrid classes employ a flipped classroom technique. Students are expected to study/view lecture videos, screencasts, and online textbooks and quizzes embedded in each class module on Canvas on their own time before attending the corresponding lab. The lab or lecture time for hybrid classes is designed for interactively answering student questions and completing quizzes and exams.

The lab portion of class is conducted separately from lecture. Students will attend the lab section in which they enrolled. Students will always be assigned a new activity to complete during each lab, but due to the nature of the hybrid modality, lab time is compressed. It is expected that students will have time to begin each activity during the interactive lab session, and perhaps substantially complete it by the end of the session, but it is not expected. Students will, however, have enough time to make significant progress, and get questions answered relating to the lab before lab time expires. Furthermore, lab activities are ungraded. Any reasonable attempt may be submitted at the end of the lab session to receive full points. It is at the option (and highly encouraged) for the student to continue work on the lab activity and submit a more complete final version by midnight. Many lab submissions require a peer review the following day-it is in your own best interest to submit a complete assignment to receive the most useful feedback from your peers.

Fully on-line class sections

Missing the on-line orientation is equivalent to missing the first day of class. Absences are determined from the percentage of missed Zoom meeting sessions, quizzes, discussion board postings and other assignments, E.g. missing three of six assignments during one week in an eight-week class is equivalent to missing 6.25% of total class time. (Missing one week of an eight week class is missing 12.5% of class; one-half is 6.25%.)

Dropping the Class

If you want or need to drop the class, you may do so by using the on-line eServices enrollment and registration system. The instructor's signature is not required to drop a class. Students must drop themselves officially from the class, or they will be assigned an "F" grade in the class. DO NOT assume that the instructor will automatically drop you off the class roster—it is the student's responsibility to officially drop their class.

Accommodations

Students who may need an academic accommodation based on the impact of a disability and who require instructional, curricular, or test accommodations are responsible for making such needs known to the instructor as early as possible. Every possible effort will be made to accommodate students in a timely and confidential manner. Individuals who request accommodations must be registered with the Disability Services and Programs for Students (DSPS) Office, which authorizes accommodations for students with disabilities. Contact the office by phone: 916.484.8382, email: ARCDSPSDE@arc.losrios.edu, or video phone: 916.993.3087

Communication Policies

All face-to-face and on-line students are welcome to take advantage of the instructor's on-campus office hours. Telephone calls are not answered during virtual office hours, or office hours scheduled in a lab classroom. If leaving a voice-mail message, please clearly state your name and a phone number or an alternative method of reaching you such as an email address.

As for all on-line communication, please be respectful and refer to a netiquette guide before emailing or posting to discussion boards.

Students are encouraged to ask or answer class content questions on the general Tips and Tricks discussion board on the class website. Please do not email your instructor directly for answers on these questions. All students are given the opportunity to review this board periodically, and respond to fellow students when able. (If, after fellow students are unable to respond to your question, then you will receive your instructor's response on the discussion board.) All interactions on this discussion board are looked upon favorably by the instructor. At the end of the class term, students earning a borderline final score that provide significant assistance on this discussion board will be assigned the higher class letter grade.

Questions of a more specific nature, such as individual scores and feedback on individual assessments, students should email the class instructor directly. On Monday through Thursday, you should generally expect a response within twenty-four hours. Emails received during virtual office hours are responded to within one hour.

All assignments and due dates are listed on the Lesson Plan page. However, both online and face-to-face students tend to forget an assignment or two during the term. Expect a weekly email reminder from your instructor regarding assignments due and upcoming course topics. Check your email frequently.

Ethical Student Behavior

When entering the classroom or computer lab, students are responsible for turning off all cell phones, pagers or any other device which would, in the opinion of the instructor, distract the activities in class. Only students registered in this class are allowed in our classroom or computer lab; children and other family members are not allowed.

No copying, plagiarism, or collaboration will be tolerated in this class. Unless the instructor specifies otherwise, all work assigned in this class, including homework, laboratory, and application or programming assignments, and all examinations, are to be individual efforts. This means that students may discuss their assignments with others, but the actual work must be completed individually.

Every student is required to actively participate to ensure the success of the class assignments. Students are encouraged to discuss problems and/or help each other in Labs and work together to facilitate the learning process, however all students must do their own homework, quizzes and lab assignments. Any copying, plagiarism or "duplicate printing" of any part of homework or lab assignments is expressly forbidden and may result in penalties. The following is a list of examples of Academic Dishonesty.

  1. Copying in part or in whole from someone else's test
  2. Submitting work previously presented in another course when contrary to directions prohibiting such acts from either course.
  3. Altering or interfering with grading in the class.
  4. Using or referring to any sources or materials not authorized by the professor during the test, quiz or examination
  5. Committing other acts that misrepresent one's own academic work
  6. Acting in part or in whole to compromise the integrity of the course examinations, quizzes or projects through replication, duplication, or electronic means.
  7. Submitting a written paper purchased or obtained from an outside source
  8. Representing another's creation (painting, photo, music, computer program, etc.) as your own product and work.
  9. Incorporating words, passages, ideas of another person's writing without citing appropriate credit or acknowledgment and representing it as your own.
  10. Duplicating any previous academic work from another and then submitting them as your own for academic credit.
  11. Forging signatures on Add/Drop slips or altering other college documents
  12. Stealing examinations, test, quizzes, or scoring key for tests.
  13. Removal of class exams or class assignment projects without instructor approval
  14. Altering graded work after it has been returned from the instructor and resubmitting without the instructor's approval
  15. Having another person or student submit academic work in your name
  16. Giving your academic work to another student to copy
  17. Purposely sharing your paperwork with another student to copy for a test or assignment especially when it is not a group project or group response to a test
  18. Lying to an instructor or to a college official to improve your grade
  19. Accessing the college computer system to change your grades or those of other students

Possible Penalties for Academic Dishonesty or Disruptive Behavior

Students will receive a grade of "Zero" or "F" for the current assignment. If the assignment is a large percentage of the grade, or the student has demonstrated academic dishonesty on multiple occasions during the course, the student may receive a failing grade. A report of all incidents of Academic Dishonesty will be documented and sent to the Student Discipline Officer. Multiple incidences could lead to suspension and or expulsion from the Los Rios Community College District.

These actions may also apply to students who knowingly or unknowingly allow their work to be copied—keep your work secure.

Expected Student Performance

Personal behavior that promotes an atmosphere favorable to effective instruction and learning is always appropriate. Concern and respect for others both in the classroom and on-line contribute to such an environment. Students should cooperate by willingly demonstrating interest and responsibility throughout this class. Please

Classroom Standards of Conduct

Students shall comply with the following standards of conduct while in the Classroom and Labs.

  1. All students must complete and sign an ARC HS1000 form, and must insure that they have a correct e-mail address listed with ARC E-Services as well as the course website.
  2. No food or drinks are allowed at or under desks. All eating or drinking must be done outside the classroom and labs.
  3. No typing, talking or printing while the instructor is lecturing. Please be courteous to your fellow students.
  4. No instant messaging, personal E-mail, viewing of inappropriate material, or other non-class-related use of the Internet.
  5. No beepers, pagers, or cellphones that are turned on are allowed in class or lab. Turn them OFF before coming to class.
  6. No working on assignments for other classes during lab.
  7. Students are expected and required to stay focused on the assignment for each class and work cooperatively with others to facilitate the learning process for all students.
  8. No software is allowed to be installed or used on ARCs PCs unless specifically authorized by the professor.
  9. Students are expected to conduct themselves in a courteous and respectful manner towards their fellow students, the professor and the Instructional Assistants (IA) at all times.
  10. Please be attentive and take good notes during lectures and while receiving instructions in lab. Students are expected to bring their notes to class with them each class meeting—you will need them for lab assignments!
  11. Students shall follow the Instructor's and/or the Instructional Assistant's specific directions at all times.
CISP 360 Lesson Plan
Due Date Topics Assignment
Fri, Jan 12
  • Class website is made available
  • Topics and assignment due dates are subject to change at the discretion of the instructor

M01: C++ Tools and Basics

  • Computer Systems: Hardware and Software
  • Programming Languages, Compiling, Interpreting
  • Input, Processing, and Output
  • Using an Integrated Development Environment (IDE)
  • The parts of a C++ Program
  • The cout object
  • Primitive Data Types
  • Variable Assignments
  • Arithmetic Operators
  • Symbolic Constants
  • Preprocessor
  • Binary, octal, hexadecimal number bases
  • http://www.mathsisfun.com/ Numbers, binary, hex

Activities are due by midnight on the day assigned. Students must be present during lab to earn credit for Activities.
Exercises are due by midnight on the due date unless it is stated otherwise.

Start NOW
Study the class syllabus, and complete all assignments listed for M01: C++ Tools and Basics by Sunday, January 21
Monday, January 15 Martin Luther King, Jr. Birthday
Lec+Lab 1: Tue, Jan 16
  • Syllabus Overview
  • Course Introduction
  • CISP 360 Canvas LMS tour
  • How to be successful in this course
  • Using the ARC computing environment
  • Verification of Prerequisites
  • Log on to the class websites
  • Establish your Los Rios Gmail account
Activity 1
Student Learning Contract; and prerequisite skills evaluation (This test is scored, but does not contribute toward your grade in this class.)
Activity 2 (part 1)
Survey (in groups)
Sun, Jan 21  
Complete all readings and screen casts in:
M01: C++ Tools and Basics
Successfully complete at passing level:
Textbook practice A, Textbook practice B, Compile Process Practice
Activity 2 (part 2)
Survey (in groups), First Program, register at Sphere Online Judge (SPOJ)
Mon, Jan 22

M02: Keyboard Input, and Formatted Output
and M03: Expressions and Using Functions

  • The cin object
  • Calling Library Functions
  • Formatted Input and Output Using Stream Manipulators
  • Evaluating Expressions Using Precedence and Associativity
  • Mixed-type Expressions, Coercion, and Type Casting
  • Using Code::Blocks or repl.it to link an object file (.a) to your executable for testing
Start NOW
M02: Keyboard Input, and Formatted Output
and M03: Expressions and Using Functions
Lec+Lab 2: Tue, Jan 23
  • Don't forget to check for the Study hints in Canvas for Quiz 1 pre-test, and separately the part 2 hints.
  • Complete Quiz 1 pre-test, and part 2 during lecture
Quiz 1 pre-test (during lecture)
on class syllabus
Quiz 1 part 2 (during lecture)
on M01: C++ Tools and Basics
Activity 3
Introductions, career discussion, program using sequence
Fri, Jan 26  

Friday, January 26, is last day to drop this class and qualify for a tuition refund.

Sun, Jan 28
  • Required: Watch the Activity 4 Pre-activity demonstration screencast before starting Activity 4

Sunday, January 28, is last day to drop this class without notation on record.

Activity 4
Expressions, calling library functions
Mon, Jan 29  
Complete all readings and screen casts in:
M02: Keyboard Input, and Formatted Output and M03: Expressions and Using Functions
Successfully complete at passing level:
Practice: basic input
Quiz 2 pre-test (no time limit)
on M01: C++ Tools and Basics
Quiz 2 part 2 (no time limit)
on M01: C++ Tools and Basics; M03: Expressions and Using Functions
Quiz 3 pre-test (online)
on M02: Keyboard Input, and Formatted Output; M03: Expressions and Using Functions
Lec+Lab 3: Tue, Jan 30
  • Students may work on Exercise 1 during the lecture period.

M04: Selection

  • Relational Operators
  • if Construct
  • if - else Construct
  • Logical Operators
  • More on the bool Data Type
  • Nested if Constructs
  • The switch Statement
  • Validation of User Input; the failbit
Activity 5 (in groups)
Expressions and formatted I/O
Exercise 1
Sequence, Formatted I/O
Start NOW
M04: Selection
Mon, Feb 5  
Exercise 2
Console I/O, Arithmetic Operators, Expressions
Complete all readings and screen casts in:
M04: Selection
Successfully complete at passing level:
Selection: textbook practice
Quiz 4 pre-test (online)
on M04: Selection
Lec+Lab 4: Tue, Feb 6
  • Quiz 3 post-test during lecture
Quiz 3 post-test
on M03: Expressions and Using Functions
Activity 6 (in groups)
Selection: testing for failed integer input
Activity 7 (in groups)
Selection: comparing floating point values
Exercise 3
Selection
Wed, Feb 7

M05: Repetition
and M06: Basic File Input and Output

  • Iteration
  • The while Loop
  • do-while Loop
  • for Loop
  • Accumulation
  • Sentinels
  • Pseudo-random numbers
  • Nested Loops
  • The break and continue Statements
  • Reading and Writing data with Text Files
  • Sequential Access Plain Text Files; priming read, and eof processing
  • File Data Input Validation; the failbit
Start NOW
M05: Repetition
and M06: Basic File Input and Output
Mon, Feb 12  
Complete all readings and screen casts in:
M05: Repetition and M06: Basic File Input and Output
Successfully complete at passing level:
Repetition: textbook practice, Basic Files: Textbook practice
Quiz 5 pre-test (online)
on M05: Repetition; M06: Basic File Input and Output
Lec+Lab 5: Tue, Feb 13
Quiz 4 post-test (during lecture)
on M02: Keyboard Input, and Formatted Output; and M04: Selection
Activity 8
Random number simulation, spoj.com
Exercise 4
Iteration
Exercise 6
groups assigned.
Activity 9 (in groups)
Repetition, files, and the priming read
Wed, Feb 14

M07: Defining Functions

  • Declaring, Defining, and Calling Functions
  • Function Prototypes
  • Identifier Scope, Storage Class
  • Declaring and Using Constants vs. Variables
  • Functions: Pass by Value vs. Pass by Reference (&)
  • return vs. exit()
  • inline Functions
  • Function Default Arguments, Overloading
  • Stubs and Drivers, Stub Testing
Start NOW
M07: Defining Functions
Friday, February 16 Lincoln's birthday
Sun, Feb 18

M08: Arrays and C-Strings

  • One-Dimensional Arrays of All Types
  • Initializing Arrays
  • Loading Arrays from a Data File
  • Processing Arrays
  • Arrays as Function Arguments
  • Character Arrays
  • The basics of c-strings
  • Character Library Functions (cctype)
  • Two-Dimensional Arrays

Please note: we will not be discussing or using the string object in this class. All character and text manipulation will be done using the c-string.

Exercise 5
File Input and Output
Complete all readings and screen casts in:
M07: Defining Functions
Successfully complete at passing level:
Functions: Textbook practice 1 & 2, Functions: Pass by value vs. pass by reference practice
Quiz 6 pre-test (online)
on M07: Defining Functions
Start NOW
M08: Arrays and C-Strings
Monday, February 19 Washington's birthday
Lec+Lab 6: Tue, Feb 20
  • Quiz 5 post-test during lecture
Quiz 5 post-test (during lecture)
on M05: Repetition; M06: Basic File Input and Output
Activity 10
Functions, nested repetition, user input validation, failbit
Exercise 6 (in groups)
Nested Repetition, Validation, Failbit
Mon, Feb 26
Complete all readings and screen casts in:
M08: Arrays and C-Strings
Successfully complete at passing level:
Arrays: Textbook practice 1 & 2
Quiz 7 pre-test (online)
on M08: Arrays and C-Strings
Exercise 7
Functions
Lec+Lab 7: Tue, Feb 27
  • Quiz 6 post-test during lecture
  • Exercise 8 groups assigned
Quiz 6 post-test (during lecture)
on M07: Defining Functions
Exercise 8
groups assigned.
Activity 11
One-dimensional arrays
Activity 12
Cstrings: one-dimensional character arrays
Wed, Feb 28

M09: Searching, Program Development and Testing

  • Searching, Linear Search
  • Binary Search
  • Searching Two-Dimensional Arrays
  • Bitwise operators (optional)
  • Program Testing and Debugging
  • Hand Tracing a Program to find errors
  • Simple debugging techniques
Start NOW
M09: Searching, Program Development and Testing
Mon, Mar 4
Complete all readings and screen casts in:
M09: Searching, Program Development and Testing
Lec+Lab 8: Tue, Mar 5

M10: Sorting

  • Sorting
    • Bubble
    • Selection
    • Insertion
  • Sorting Parallel Arrays
Activity 13
Two-dimensional arrays
Activity 14
Searching two-dimensional arrays
Exercise 8 milestone
Nested Repetition, 2D Arrays, Bit Masks
Start NOW
M10: Sorting
Monday, March 11 through Sunday March 17 Spring Recess
Mon, Mar 18
Complete all readings and screen casts in:
M10: Sorting
Successfully complete at passing level:
Sorting: practice test
Quiz 8 pre-test (online)
on M09: Searching, Program Development and Testing; M10: Sorting
Lec+Lab 9: Tue, Mar 19
  • Quiz 7 post-test during lecture
Quiz 7 post-test (during lecture)
on M08: Arrays and C-Strings
Activity 15
Practice midterm
Activity 16
Sorting
Wed, Mar 20

M11: Pointers
and M12: Advanced C-Strings

  • Pointers to Primitive Types
  • Dereferencing Pointers
  • Pointers vs. Arrays
  • Pointer Arithmetic
  • Pointer Parameters and Arguments to Functions (Pass by Reference)
  • Use of const with Pointers
  • Pointers and C-Strings
  • C-String Library Functions: strlen(), strcpy(), strcat(), strcmp()
  • Advanced C-String Library Functions: strstr()
  • C-Strings and Pointer Arrays

Please note: we will not be discussing or using the string object in this class. All character and text manipulation will be done using the c-string.

Start NOW
M11: Pointers
and M12: Advanced C-Strings
Mon, Mar 25  
Exercise 8 (in groups)
Sandbox Archaeology: Nested Repetition, 2D Arrays, Bit Masks
Exercise 9
Arrays and Sequences — Sphere online judge (SPOJ)
Lec+Lab 10: Tue, Mar 26
  • Midterm begins at 5:30pm
Midterm #1 (during lecture+lab)
This seventy-five minute comprehensive lab practical involves content presented in Modules M01 through M09.
Sun, Mar 31

M13: Dynamic Memory Allocation
and M14: Structures

  • Dynamic Memory Allocation for Primitive Types
  • Dynamic Memory Allocation for Arrays of Primitive Types
  • Structures
  • Arrays of Structures
  • Structures as Function Arguments
  • Pointers to Structures
  • Dynamic Memory Allocation for Structures
  • Sorting Structures
Complete all readings and screen casts in:
M11: Pointers and M12: Advanced C-Strings
Successfully complete at passing level:
Pointers Practice A, B, C, and D, Cstrings: Textbook practice
Activity 17 (online)
Pointers
Quiz 9 pre-test (online)
on M11: Pointers; M12: Advanced C-Strings
Monday, April 1 Cesar Chavez Day
Lec+Lab 11: Tue, Apr 2
  • Quiz 8 post-test during lecture
  • Exercise 11 groups assigned
Quiz 8 post-test (during lecture)
on M09: Searching, Program Development and Testing; M10: Sorting
Activity 18
Pointers
Activity 19
Pointers
Activity 20
C-strings
Exercise 11
groups assigned.
Exercise 10 milestone
Sequential access files
Start NOW
M13: Dynamic Memory Allocation
and M14: Structures
Mon, Apr 8

M15: C Standard I/O Library
and M16: Advanced File Processing

  • Writing structure data to files
  • Reading data from a sequential access file into a structure
  • Introduction to Interactive I/O Using the C Standard Library
  • Interactive I/O Using the C Standard Library Functions scanf and printf
  • scanf, sscanf, printf
  • Files and FILE *: Using the C Standard Library
  • Binary Sequential Access Files
  • Creating Header Files
  • Preprocessor Summary
  • Separate Compilation Units (single source file)
  • Bitwise operators (optional)
Complete all readings and screen casts in:
M13: Dynamic Memory Allocation and M14: Structures
Successfully complete at passing level:
Dynamic: Textbook practice, Dynamic: practice quiz, Structures: Textbook practice
Quiz 10 pre-test (online)
on M13: Dynamic Memory Allocation; M14: Structures
Start NOW
M15: C Standard I/O Library
and M16: Advanced File Processing
Lec+Lab 12: Tue, Apr 9
  • Quiz 9 post-test during lecture
Quiz 9 post-test (during lecture)
on M11: Pointers; M12: Advanced C-Strings
Activity 21
Structures
Activity 22 (in groups)
Pointers to structures
Exercise 10
Sequential Access Files
Exercise 11 milestone
Advanced C-String Manipulation
Sun, Apr 14  

Sunday, April 14 is last day to withdraw from this class with a "W" notation on record.

Mon, Apr 15

M17: Classes

  • Separate Compilation Units (multiple source files)
  • Introduction to Object Oriented Software Development
  • The Three Requirements for OOP: Encapsulation, Inheritance, Polymorphism
  • What is an object?
  • Classes
  • Structures vs. Classes
  • Public vs. Private Data Members and Member Functions
  • Class Scope and Member Access
  • Class Constructors, Destructors
  • Predicate Functions, Access Functions
Complete all readings and screen casts in:
M15: C Standard I/O Library and M16: Advanced File Processing
Start NOW
M17: Classes
Lec+Lab 13: Tue, Apr 16
  • No quiz today!
Activity 23
Discussion: Dynamic memory allocation
Activity 24 (in groups)
cstdio
Activity 25
sequential access file using FILE *
Exercise 11 (in groups)
Advanced C-String Manipulation
Lec+Lab 14: Tue, Apr 23
  • Quiz 10 post-test during lecture
  • Required: Watch Class: splitting a single file program into a multi-file project (Video 9:49) in M17: Classes
Quiz 10 post-test (during lecture)
on M13: Dynamic Memory Allocation; M14: Structures; M16: Advanced File Processing
Activity 26
creating a header file
Activity 27
multi-file program
Exercise 12
Structures and Dynamic Memory Allocation
Mon, Apr 29

M18: Recursion

  • Recursion
  • Recursive vs. Iterative Repetition
Complete all readings and screen casts in:
M17: Classes
Successfully complete at passing level:
Class: textbook practice
Quiz 11 pre-test (online)
on M17: Classes; M16: Advanced File Processing
Exercise 13
Classes
Start NOW
M18: Recursion
Lec+Lab 15: Tue, Apr 30
  • Quiz 11 post-test during lecture
Quiz 11 post-test (during lecture)
on M17: Classes
Activity 28 (in groups)
classes: designing from a problem specification.
Activity 29 (in groups)
classes: implementing a design from activity 28
Mon, May 6  
Complete all readings and screen casts in:
M18: Recursion
Successfully complete at passing level:
Recursion: Introduction Quiz, Factorial Quiz, Countdown Quiz, Fibonacci Quiz
Activity 30
recursion
Activity 31
Discussion: class feedback
Lec+Lab 30: Tue, May 7
  • Midterm begins at 5:30pm
Midterm #2 (during lecture+lab)
This seventy-five minute comprehensive exam involves content presented in all modules of this class. There is no Lab period today since all assignments have been completed.
Thu, May 9
  • Sample final exam/lab practical available
  • The final exam is a one-hour exam to be completed online
Check your grades-the midterm has been scored!