Syllabus
Programming Fundamentals II

Programming Fundamentals II

COSC-1337

Credit Spring 2021
01/19/2021 - 05/16/2021

Course Information

Section 003
Distance Learning
MW 10:00 - 11:20
DLS DIL
Kathryn Rehfield

Section 003
Laboratory
MW 11:25 - 11:55
DLS DIL
Kathryn Rehfield

Office Hours

  • M W
    12:00 - 1:00
    Online via Blackboard Collaborate Ultra
    COSC 1337 18899-003
    Help Session
  • M W
    4:40 - 5:40
    Online via Blackboard Collaborate Ultra
    COSC 2436 18915-005
    Help Session
  • M T W Th F
    NULL - NULL
    Online via Blackboard Collaborate Ultra
    By appointment
  • M T W Th F
    NULL - NULL
    Online via Blackboard Collaborate Ultra
    By appointment
  • T Th
    10:30 - 11:30
    Online via Blackboard Collaborate Ultra
    COSC 1336 18876-003
    Help Session
  • T Th
    2:50 - 3:50
    Online via Blackboard Collaborate Ultra
    COSC 2436 18912-001
    Help Session

course description/rationale

Course Description: 

This is an introduction to the C++ programming language and its subset, the C programming language. Program structure, blocks, storage types, console and file I/O, functions, arrays, strings, pointers, call-by-reference, call-by-value, and dynamic memory allocation will be discussed. The concept and use of classes will be covered in some detail. Differences between C, C++, and Python will be discussed. Some new features in C++ 2011/2014 will be introduced.

Pre-requisite: 

COSC 1336 (preferred) or similar programming course or department approval.

Instructional Methodology:  

This course will have 50% lecture and 50% laboratory (on-ground classes). The CIS open labs are available for students to work outside of scheduled lab time. Lab exercises use the DevC++ development environment. Students may use the C++ compiler of their choice, but grading will be done in DevC++. If a student is unable to finish the assigned lab work within the lab time, they may visit the CIS open labs, or use their own computer. Students are encouraged to email the instructor when they have questions or get stuck on a programming assignment.

Course Rationale: 

This course is designed to teach students the C++ programming language and introductory and intermediate programming concepts with examples and applications using the C++ language. The course builds and extends topics covered in the prerequisite course, COSC 1336 and prepares students for more advanced programming courses such as ITSE 2431 (Advanced C++ Programming) and COSC 2415 (Data Structures) as well as for entry level programming employment. The course is required for an Associate Degree in several Computer Information Systems and Computer Science degree areas.

Note:  This course is not intended to be the student’s first course in programming. Although introductory programming concepts are covered, only a quick review is provided. The pace of instruction, quizzes, labs and exams will be fairly rapid. Please take advantage of office hours, email, tutoring in the open labs, videos, and other resources to be successful.

 

Readings

Approved Course Texts/Readings:

Starting out with C++ Early Objects Gaddis, Walters, Muganda. Pearson.
10th edition: 2017 ISBN-13: 978-0135235003

 

Student Learning Outcomes/Learning Objectives

Course Objectives/Learning Outcomes:

Students will be exposed to the following concepts and/or skills at an introductory concepts level:

The analysis and design of programs based on requirements and performance considerations; evaluation of various possible technical solutions; object-oriented design considerations; system integration; program documentation; program debugging procedures; developing program testing plans; consideration of program operating environment; use of reusable software.

  1. Demonstrate a thorough understanding of modular programming by designing programs that require the use of programmer-defined functions.
  2. Demonstrate a thorough understanding of arrays by designing and implementing programs that search and sort arrays.
  3. Demonstrate a thorough understanding of the object-oriented programming concepts of encapsulation, data abstraction and composition by designing and implementing classes including the use of overloaded functions and constructors.
  4. Demonstrate a thorough understanding of the concept of pointers and dynamic memory allocation by designing and implementing programs using pointers and dynamic memory allocation.
  5. Demonstrate a thorough understanding of the implementation of programmer-defined functions and classes by writing code, performing unit testing and debugging of multiple complex programs.
  6. Demonstrate good documentation style in all of the programs written in this course.
  7. Demonstrate proficiency in implementing data validation code, performing unit testing, and developing test plans while implementing robust solutions to the assignments in this course.
  8. Demonstrate a thorough understanding of stream input/output for both console and files.
  9. Demonstrate an understanding of the differences between C and C++ in the areas of strings, pass by reference/passing pointers, and structs by designing and implementing programs that use C strings, C++ strings, C language structs and classes.

SCANS (Secretary’s Commission on Achieving Necessary Skills):

Refer to http://www.austincc.edu/cit/courses/scans.pdffor a complete definition and explanation of SCANS.  The following list summarizes the SCANS competencies addressed in this course:

RESOURCES

1.1 Manages Time

INTERPERSONAL

INFORMATION

3.3 Uses Computers to Process Information

SYSTEMS

 

TECHNOLOGY

5.2 Applies Technology to Task

BASIC SKILLS

6.3 Arithmetic

6.5 Listening

THINKING SKILLS

7.5 Knowing How to Learn

PERSONAL SKILLS

 

 

Course Requirements

Grade Policy:

Grade will be assigned based both on concepts and practical application. Exams, homework, and lab activities will be a part of the grade.  An overall grade will be assigned on the following grading scale:

 

90% - 100%        A

80% - 89%          B

70% - 79%          C

60% - 69%          D

0%   - 59%          F

 

Each student’s grade for this course consists of comprehensive exams on concepts, chapter homework and lab assignments. 

 

Each exam consists of a concept part with multiple choice and true/false questions and a programming part. There are NO makeup exams given in this course since you have a week to take each exam. 

 

The concept part of each exam is closed book. The programming part of each exam is open book, open notes.  However, you may not use the Internet or seek the aid of another student.

 

Each homework assignment is due according to the due dates in Blackboard.

 

Assignments have due dates specified.  Homework will not be accepted late, but lab assignments have late due dates with 30% penalty.

 

 

 

Activity

% Each

% Total

Exam 1

10%

10%

Exam 2

15%

15%

Exam 3

21%

21%

7 – Lab Assignments

6%

42%

12 Chapter Homework Quizzes

1%

12%

TOTAL

 

100%

 

course/class policies

Academic Integrity

A student is expected to complete his or her own projects and tests.  Students are responsible for observing the policy on academic integrity as described in the current ACC Student Handbook.

 

Students are encouraged to work together to learn to program in C++. During lab time, you may collaborate on the development of programs, but each student’s program is expected to be unique and submitted independently.

 

The penalty accessed will be in accordance with the current ACC Student Handbook policy.  See http://www.austincc.edu/handbook for more information. For this course, the penalty for scholastic dishonesty is a grade of ‘F’ for the course.

 

Incomplete

A student may receive a temporary grade of “I” (Incomplete) at the end of the semester only if ALL of the following conditions are satisfied:

  1. The student is unable to complete the course during the semester due to unexpected circumstances beyond their control.
  2. The student must have earned at least half of the total course grade points (500) by the end of the semester.
  3. The request for the incomplete grade must be made in person at the instructor’s office and necessary documents completed by the last day of instruction.
  4. To remove an “I”, the student must complete the course by two weeks before the end of the following semester.  Failure to do so will result in the grade reverting to an “F”.
     

 

Freedom of Expression Policy

It is expected that faculty and students will respect the views of others when expressed in classroom discussions.

 

Tutoring

Free tutoring is provided for this course.  For schedules and details please refer to http://cis.austincc.edu/cis-tutoring-schedules.

 

Testing Center Policy [Open Campus Sections Only]

http://www.austincc.edu/support-and-services/services-for-students/testing-services/instructional-testing

 

Attendance / Withdrawal

Students are expected to attend classes and will be held responsible for all material covered in class. Regular attendance helps ensure satisfactorily progression towards completion of the course. Attendance is recorded for each class. Students are expected to initial the attendance roster each day of class attended. Failure to initial the roster may result in losing attendance credit.

 

It is the student’s responsibility to complete a Withdrawal Form in the Admissions Office if they wish to withdraw from this class. The last date to withdraw for this semester is April 26, 2021. It is not the responsibility of the instructor to withdraw the students from their class even though the instructor has the prerogative to do so under the above listed circumstances. Typically, the instructor does not withdraw students! If it appears, on the final withdraw date, that a student will surely receive an ‘F’ for the course, the instructor may withdraw a student.  But do not rely on the instructor to withdraw you from the course!

 

Students who enroll for the third or subsequent time in a course taken since Fall 2002 are charged a higher tuition rate.  NOTE: State law permits students to withdraw from no more than six courses during their entire undergraduate career at Texas public colleges or universities.  With certain exceptions, all course withdrawals automatically count towards this limit.  Details regarding this policy can be found in the ACC College Catalog. See: http://www.austincc.edu/catalog/.

 

Student Files – Privacy

The information that a student stores in his/her student volume in the Computer Studies Labs may be viewed by their instructor for educational and academic reasons.

 

Students Accessibility Services

Each ACC campus offers support services for students with documented physical or psychological disabilities.  Students with disabilities must request reasonable accommodations through the Office for Students with Disabilities on the campus where they expect to take the majority of their classes.  Students are encouraged to make this request three weeks before the start of the semester. See current ACC Student Policies at: http://www.austincc.edu/support-and-services/services-for-students/student-accessibility-services-and-assistive-technology.

 

Communication

The ACC online Blackboard system http://acconline.austincc.edu and ACC Gmail accounts will be used as the official communication system during this semester.  Lecture notes, handouts, changes to course schedule or assignments and your grades will be posted on Blackboard and all email communication will be via the ACC Gmail accounts.  All students are expected to check both Blackboard and their ACC Gmail accounts on a regular basis.  For information on how to log onto Blackboard and ACC Gmail please visit the following sites:
http://acconline.austincc.edu                                         (Blackboard logon)

http://irt.austincc.edu/blackboard/StudentSupport.php  (first time Blackboard user)

http://www.austincc.edu/google/  or  

http://www.austincc.edu/accmail                                   (ACC email login)

 

Instructors/Lab Technicians will conduct a brief lab orientation during the first class laboratory period. If this is your first semester at ACC, you have some extra work to set up your ACC email account, your Blackboard account, etc. There is help available to accomplish these tasks. First check the ACC website: http://www.austincc.edu and other austincc.edu links (see above). Also ask lab assistants (available in every CIT lab), or call ACC help line at: (512) 233-HELP (4357).

 

Safety Statement

Each student is expected to learn and comply with ACC environmental, health and safety procedures and agree to follow ACC safety policies.  Emergency posters and Campus Safety Plans are posted in each classroom.  Additional information about safety procedures and how to sign up to be notified in case of an emergency can be found at http://www.austincc.edu/emergency/.  In the event of an extreme emergency or impending threat, ACC Emergency Alert can send critical voice and text messages to your cellphone. You can register or update your emergency contact information starting at the link above.

 

Anyone who thoughtlessly or intentionally jeopardizes the health or safety of another individual will be immediately dismissed from the day’s activity, may be withdrawn from the class, and / or barred from attending future activities.

 

Use of Electronic Devices

The use of cell phones, music players and other electronic devices is not allowed at any time in the class or lab.  Cell phones must be turned off and out of sight. The use of a laptop computer in class or lab is restricted to instructor approved activities. Using your cell phone in class will directly affect your class participation grade.

 

Concealed Handgun Policy

The Austin Community College District concealed handgun policy ensures

compliance with Section 411.2031 of the Texas Government Code (also known as

the Campus Carry Law), while maintaining ACC’s commitment to provide a safe

environment for its students, faculty, staff, and visitors.

 

Beginning August 1, 2017, individuals who are licensed to carry (LTC) may do so on

campus premises except in locations and at activities prohibited by state or federal

law, or the college’s concealed handgun policy.

 

It is the responsibility of license holders to conceal their handguns at all times.

Persons who see a handgun on campus are asked to contact the ACC Police

Department by dialing 222 from a campus phone or 512-223-7999.

Refer to the concealed handgun policy online at austincc.edu/campuscarry.

Course Subjects

Course Schedule:

Week

Date

Concepts Lecture

Lab Assignments
(Due dates in Bb)

Homework - Due

1

01/20

Course Introduction

 

 

2

01/25

Ch 1: Introduction to computers & programming

 

HW 1 Ch 1 – 01/27

01/27

Ch 2: Introduction C++

 

HW2 Ch 2 – 02/01

3

02/01

Ch 3: Expressions and Interactivity

Lab 1 – Decisions, Loops, Functions

HW3 Ch 3 – 02/03

02/03

Ch 4: Making Decisions

 

HW4 Ch 4 – 02/08

4

02/08

Ch 5: Looping

 

HW5 Ch 5 – 03/06

02/10

Ch 6: Functions

 

HW6 Ch 6 – 03/07

5

02/15

 

 

 

02/17

 

 

 

6

02/22

 

 

 

02/24

Ch 6: Functions

 

 

7

03/01

Review for EXAM 1 (Ch 1-6)

 

 

03/03

EXAM 1 (Chapters 1-6)

 

 

8

03/08

Ch 7: Introduction to Classes & Objects

Lab 2 - Classes

HW7 Ch 7 – 03/21

03/10

Ch 7: Introduction to Classes & Objects

 

 

Spring Break 03/15 – 03/19

9

03/22

Ch 8: Arrays

Lab 3 - Arrays

HW8 Ch 8 – 03/28

03/24

Ch 8: Arrays

 

 

10

03/29

Ch 9: Searching, Sorting

 

HW9 Ch 9 – 04/05

03/31

Ch 9: Algorithm Performance Analysis

Lab 4 – Searching/Sorting

 

11

04/05

Review for EXAM 2 (Chaps 7–9)

 

 

04/07

EXAM 2 (Chapters 7–9)

 

 

12

04/12

Ch 10: Pointers, dynamic memory allocation

 

HW10 Ch 10 – 04/21

04/14

Ch 10: Pointers, dynamic memory allocation

 

 

13

04/19

Ch 10: Pointers, dynamic memory allocation

Lab 5 – Editing Objects

 

04/21

Ch 11: More about Classes and OOP

 

HW11 Ch 11 – 05/03

14

04/26

Ch 11: More about Classes and OOP

 

 

04/28

Ch 11: More about Classes and OOP

Lab 6 – Dynamic Arrays, Pointers

 

15

05/03

Ch 14: Recursion

 

HW12 Ch 14 – 05/10

05/05

Ch 14: Recursion

Lab 7 - Recursion

 

16

05/10

Review for EXAM 3 (Chapters 1–11, 14)

 

 

05/12

EXAM 3 (Chapters 1 – 14)