Syllabus
Programming Fundamentals II

Programming Fundamentals II

COSC-1337

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

Course Information

Section 013
Distance Learning
ONL DIL
Robert Comer

Office Hours

  • M T W Th
    1:00 pm - 4:00 pm
    Online
    I am available most afternoons and evenings to answer questions sent by email. If you want to set a time for a voice or video conference, email me and include times when you are available.

Course Description/Rationale

Course Description:  This course is an introduction to the C++ programming language and its subset, the C programming language.  Program structure, block, 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.  The differences between C++ and C will also be discussed.

Pre-requisite:  COSC 1336 or departmental approval

TSI Skills: Reading and Math

Instructional Methodology:  This course will be taught over the Internet. The course material will be covered in reading assignments from the textbook supplemented by some online materials. There will not be any live or recorded lectures. I will be happy to discuss reading and programming assignments by email or by voice or video call. Students will need to complete programming assignments on their own computer.

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 2331 (Advanced C++ Programming) and COSC 2436 (Programming Fundamentals III: 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.

Student Learning Outcomes/Learning Objectives

Course Objectives/Learning Outcomes:

  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.

Competencies

1.      Develop programs using procedural and object-oriented programming concepts.

1.1.Design, code and test programs that use input, output and arithmetic operations.

1.2.Design, code and test programs that use branching and looping control structures.

1.3.Design, code and test modular programs that contain multiple functions.

1.4.Design, code and test programs that contain programmer-defined data types (classes).

2.      Develop programs using C structs, classes and arrays.

2.1.Design, code and test programs that use arrays and structures (arrays of structures).

2.2.Design, code and test programs that use two-dimensional arrays.

2.3.Design, code and test programs that use arrays and sequential search.

3.      Develop programs using pointers, dynamic memory allocation, files and strings.

3.1.Design, code and testprograms that use pointers, dynamically-allocated arrays and sorting.

3.2.Design, code and test programs that use C++ strings and input and output files.

3.3.Design, code and test programs that use C strings

Scans Competencies:

SCANS competencies have been identified that are relevant to the level of instruction in the community college environment.  These competencies reflect the knowledge and skills employees need to succeed in any occupation.  To be successful in this course the following SCANS competencies will need to be applied:

 

  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

 

 

 

Readings

Approved Course Text: 

You can use a recent edition of Starting Out with C++ Early Objects by Gaddis et. al. I recommend the 10th or 9th edition. These editions include some features of the C++11 standard that are not covered in previous editions.

Starting Out with C++ Early Objects 10th Edition by Gaddis, Walters and Muganda. Published by Addison Wesley, ISBN-13: 978-0-13-523500-3

Starting Out with C++ Early Objects 9th Edition by Gaddis, Walters and Muganda. Published by Addison Wesley, ISBN-13: 978-0-13-440024-2

In addition, students will need to purchase separately a license for CodeLab (a web-based interactive programming exercise system) at a cost of around $10.00. I will have instructions on how to purchase this posted in Blackboard. DO NOT ATTEMPT TO PURCHASE THIS UNTIL I POST INSTRUCTIONS.

Course Requirements

Grade Policy:

Grade will be assigned based both on concepts and practical application. Exams, exercises, and programming assignments will be a part of the grade.  An overall grade will be assigned on the following grading scale.

The course grade will be based on 3 semester exams, 10 programming assignments and exercises.

Component Weight
Exercises (CodeLab) 6.5%

10 programming assignments
        program 1 @ 0.75%
        programs 2 - 10 @ 2.25% each

21.0%
3 semester exams
        Exams 1 & 2 @ 24.0% each
        Exam 3 @ 24.5%
72.5%
Total 100 %

Grade Scale:

90 %  - 100 %         A
80 %  -  89 %          B
70 %  -  79 %          C
60 %  -  69 %          D
0 %    -  59 %          F

A student must score 60% or above to pass the course.

Course/Class Policies

Course Schedule

Please note that schedule changes may occur during the semester.  Any changes will be reflected in the schedule in Blackboard and will be accompanied by an email to all students.  If the college or campus closes due to unforeseen circumstances (for example, severe weather or other emergency), the student is responsible for communicating with their professor during the closure and completing any assignments or other activities designated by their professor as a result of class sessions being missed.

Attendance/Class Participation

Regular and timely class participation in discussions and laboratory attendance is expected of all students.  If attendance or compliance with other course policies is unsatisfactory, the instructor may withdraw students from the class.

In the event the college or campus closes due to unforeseen circumstances (for example, severe weather or other emergency), the student is responsible for communicating with their professor during the closure and completing any assignment or other activities designated by their professor as a result of class sessions being missed. 

Withdrawal Policy

It is the responsibility of each student to ensure that his or her name is removed from the roll should he or she decides to withdraw from the class.  The instructor does, however, reserve the right to drop a student should he or she feel it is necessary.  If a student decides to withdraw, he or she should also verify that the withdrawal is submitted before the Final Withdrawal Date.  The Final Withdrawal Date for 16 and 12 week classes is Monday April 26, 2021.  The student is also strongly encouraged to keep any paperwork in cases a problem arises.

Students are responsible for understanding the impact that withdrawal from a course may have on their financial aid, veterans’ benefits, and international student status.  Per state law, students enrolling for the first time in Fall 2007 or later at any public Texas college or university many not withdraw (receive a W) from more than six courses during their undergraduate college education.  Some exemptions for good cause could allow a student to withdraw from a course without having it count towards this limit.  Students are strongly encouraged to meet with an advisor when making decisions about course selection, course loads, and course withdrawals.

Attendance

Students who do not complete orientation during the first week of class and do not contact the instructor will be withdrawn  from the class.

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 circumstances beyond their control.
  2. The student must have earned at least half of the grade points needed for a “C” by the end of the semester.
  3. The request for the grade must be made in person at the instructor’s office and necessary documents completed.
  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 automatically reverting to an “F”.

Statement on Scholastic Dishonesty

Austin Community College values academic integrity in the educational process. Acts of academic dishonesty/misconduct undermine the learning process, present a disadvantage to students who earn credit honestly, and subvert the academic mission of the institution. The potential consequences of fraudulent credentials raise additional concerns for individuals and communities beyond campus who rely on institutions of higher learning to certify students' academic achievements, and expect to benefit from the claimed knowledge and skills of their graduates. Students must follow all instructions given by faculty or designated college representatives when taking examinations, placement assessments, tests, quizzes, and evaluations. Actions constituting scholastic dishonesty include, but are not limited to, plagiarism, cheating, fabrication, collusion, falsifying documents, or the inappropriate use of the college’s information technology resources. Further information is available at https://www.austincc.edu/about-acc/academic-integrity-and-disciplinary-process

For this course, a student is expected to complete his or her own projects and tests.

For this course, the penalty for scholastic dishonesty will be in accordance with ACC policy and may include a grade of ‘F’ for the course.

Student Rights and Responsibilities

Academic freedom is a foundation and hallmark of higher education. In the context of college-level courses, it specifically refers to the rights of free expression and respect for others with differing opinions. Students at the college have the rights accorded by the U.S. Constitution to freedom of speech, peaceful assembly, petition, and association. This concept is accompanied by an equally demanding concept of responsibility on the part of the student. Just as you are expected to exercise these rights with respect for state and federal law in the larger world, you are expected to exercise these rights as a student with respect for the college’s standards of conduct. These rights carry with them the responsibility to accord the same rights to others in the college community and not to interfere with or disrupt the educational process. Students and faculty alike should enable a climate of mutual respect and civility while fostering the freedom to debate and discuss the merits of competing ideas.

Enrollment in the college indicates acceptance of the rules set forth in the student standards of conduct policy, which is administered through the office of the campus dean of student services. Due process, through an investigation and appeal process, is assured to any student involved in disciplinary action.

Student Complaints

If you have a complaint about the class please discuss it with your instructor. If you cannot resolve the issue after discussing it with your instructor, generally the next step should be to contact the department chair regarding the problem.The department chair is Mary Kohls (kohls@austincc.edu).

A defined process applies to complaints about an instructor or other college employee. You are encouraged to discuss concerns and complaints with college personnel and should expect a timely and appropriate response. When possible, students should first address their concerns through informal conferences with those immediately involved; formal due process is available when informal resolution cannot be achieved.

Student complaints may include (but are not limited to) issues regarding classroom instruction, college services and offices on the basis of actual or perceived race, color, national origin, religion, age, gender, gender identity, sexual orientation, political affiliation, or disability.

Further information about the complaints process, including the form used to submit complaints, is available at: http://www.austincc.edu/students/students-rights-andresponsibilities/student-complaint-procedures

Statement on Privacy

The Family Educational Rights and Privacy Act (FERPA)  protects confidentiality of students’ educational records. Grades cannot be provided by faculty over the phone, by e-mail, or to a fellow student.  Individual student grades are posted in BlackBoard.

Students Accessibility Services 

Each ACC campus offers support services for students with documented disabilities. Students with disabilities who need classroom, academic or other accommodations must request them through the office of Student Accessibility Services (SAS).  Students are encouraged to request accommodations when they register for courses or at least three weeks before the start of the semester, otherwise the provision of accommodations may be delayed. Students who have received approval for accommodations from SAS for this course must provide the instructor with the ‘Notice of Approved Accommodations’ from SAS before accommodations will be provided. Arrangements for academic accommodations can only be made after the instructor receives the ‘Notice of Approved Accommodations’ from the student. Students with approved accommodations are encouraged to submit the ‘Notice of Approved Accommodations’ to the instructor at the beginning of the semester because a reasonable amount of time may be needed to prepare and arrange for the accommodations.

Safety Statement 

Health and safety are of paramount importance in classrooms, laboratories, and field activities. Students are expected to learn and comply with ACC environmental, health and safety procedures and agree to follow ACC safety policies. Emergency Procedures posters and Campus Safety Plans are posted in each classroom and should be reviewed at the beginning of each semester.

All incidents (injuries/illness/fire/property damage/near miss) should be immediately reported to the course instructor. 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

Everyone is expected to conduct themselves professionally with respect and courtesy to all. Anyone who thoughtlessly or intentionally jeopardizes the health or safety of another individual may be immediately dismissed from the day’s activity and will be referred to the Dean of Student Services for disciplinary action.

In the event of disruption of normal classroom activities due to an emergency situation or an illness outbreak, the format for this course may be modified to enable completion of the course. In that event, students will be provided an addendum to the class syllabus that will supersede the original version.

Emergency Situation

In the event of disruption of normal classroom activities due to an emergency situation or an illness outbreak, the format for this course may be modified to enable completion of the course.  In that event, students will be provided an addendum to the class syllabus that will supersede the original version.

Freedom of Expression Policy

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

Tutoring

Free online tutoring is provided for this course.  To login you must use your ACC email address. You can login abd see the online schedules see:

www.acctutor.org

Campus Carry

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. In addition, concealed weapons are not allowed on ACC-sponsored field trips where the school owns or has chartered or leased vehicles for transportation. 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. Please refer to the concealed handgun policy online at http://austincc.edu/campuscarry

Discrimination Prohibited

The College seeks to maintain an educational environment free from any form of discrimination or harassment including but not limited to discrimination or harassment on the basis of race, color, national origin, religion, age, sex, gender, sexual orientation, gender identity, or disability.  Faculty at the College are required to report concern regarding sexual misconduct (including all forms o sexual harassment and sex and gender-based discrimination) to the Manager of Title IX/Title VI/ADA Compliance.  Licensed clinical counselors are available across the District and serve as confidential resources for students.  Additional information about Title VI, Title IX, and ADA compliance can be found in the ACC Compliance Resource Guide available at: https://drive.google.com/file/d/1o55xINAWNvTYgI-fs-JbDyuaMFDNvAjz/view

Use of ACC E-mail

All College e-mail communication to students will be sent solely to the student’s ACC mail account, with the expectation that such communications will be read in a timely fashion. ACC will send important information and will notify you of any college related emergencies using this account. Students should only expect to receive email communication from their instructor using this account. Likewise, students should use their ACC mail account when communicating with instructors and staff.                                              

Classroom Behavior

Students are expected to demonstrate proper classroom behavior.  The professor has the prerogative to request any student that demonstrates improper and disruptive classroom behavior to leave the classroom.  Improper and disruptive behavior includes, but is not limited to: profanity, verbal outbursts, unwarranted physical activity, and lack of respect for fellow students and/or the professor.

ACC DIstance Learning Support Services

The Help! For Distance Learning Students page contains support links and reference information that students need to successfully complete a Distance Learning course:

Help! For Distance Learning Students

Testing Center Policy

Tests will be taken in Blackboard. Test will be proctored by an online testing service (probably ProctorU). Most proctoring services require a computer with a camera and microphone. You cannot use a cell phone or tablet for testing. There may be other requirements. Detais will be located in your class Blackboard site.

http://www.austincc.edu/testctr/

For student information see:

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

Student Files – Privacy

For educational and academic reasons the instructor may view the information that a student stores in his/her student volume in the Computer Labs.

Communication

Most communications for this course will be by Blackboard. Initially I will use email from Blackboard. After the first week we will begin using a discussion board like the one in Blackboard or Piazza.

All office hours will be online. You can email me with questions or concerns. If you would like to meet online for a voice or video conference, email me to schedule a time.

I normally check email multiple times each day, including weekends. However, sometimes I will miss a day on the weekend. I try to respond within 24 hours (usually faster).

Grades will be posted 1n the ACC Blackboard system:

http://acconline.austincc.edu

Students should use their ACCmail accounts for class communications.

http://www.austincc.edu/accmail/

Course materials including assignments, assignment due dates, exam review questions and exam due dates will be posted in Blackboard.

All students are expected to check the class Blackboard site and their ACCmail accounts on a regular basis (preferrably every couple of days but at least once a week).

For information on how to log onto Blackboard and ACCmail please visit the following sites:

http://irt.austincc.edu/blackboard/StudentSupport.php

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

Software

You must have access to a computer with Internet access and a C++ compiler. In addition, the Computer Sscience & IT Department has an agreement with Microsoft Corporation that allows students to obtain certain Microsoft software at a greatly reduced cost. Contact your instructor for more information.

Orientation

Orientation is required. The Orientation instructions are on the Blackboard site for this class. Students who do not complete orientation during the first week of class and do not contact the instructor will be dropped from the class.

Class progress

Students are expected to keep up with the schedule of the class. In this course, each new concept builds on previous concepts. Regular progress through the material is crucial to success on tests and assignments.

Participation

Students are expected to participate in discussions. Questions and comments of general interest should be sent to the class Google group so that everyone can benefit from the discussion. Other questions, such as questions about your grades, should be sent directly to the instructor. Students are encouraged to ask questions. There are no "dumb" questions! The instructor knows that the material is difficult to grasp at times and will be glad to give additional examples or one-to-one assistance when asked.

Programming Assignment Policy

Success in this course depends on the ability to successfully complete the assigned homework. Students are expected to do the assignments, which are designed to provide experience and practice with the concepts and techniques covered in the course.

Submitting Assignments: Programming assignments are located in Blackboard. Assignments must be submitted by clicking the assignment link in Blackboard and attaching the program source code to the assignment. Do not submit executable files, object files, project files, make files, etc. I only want you to submit files that contain C++ code.

Due Dates and Deadlines: Programming assignment due dates will be posted on the Course Schedule in Blackboard. If you miss a due date by a few days it is generally not a problem. but if you get too far behind you may not be able to complete the course work. The deadlines indicate the last date that an assignment can be submitted. Programs 1 - 8 must be submitted by 11:59 pm on Sunday, May 2. Programs 9 and 10 must be submitted by Wednesday, May 12 at 11:59 pm.

Assignment Grading: I try to grade programs within one week of submission. Assignments will be graded on the following basis:

  • 20 % - Documentation - proper use of variable names, indentation, comments, etc.
  • 80 % - Program operates correctly with instructor input data and performs all required functions

Program documentation involves the proper use of variable names, indention, comments, etc. These conventions are described in the textbook. I will post a summary of these guidelines on my web page. It is very important to make the programs as readable as possible and the instructor will strictly enforce the documentation guidelines for this course.

Please contact me if you have questions about the assignment expectations or grading process.

Exam policy

The material covered in each chapter of the textbook builds on material covered in previous chapters. For this reason, the second and third exams will include material from previous exams. If a mistake is made related to material covered on a previous exam, points will still be deducted. Exams will cover material from the textbook and supplemental material from the class web site. Each reading assignment will be followed by Chapter Review Questions.

All exams will be administered in Blackboard and will be proctored by an online proctoring service. Details about testing and proctoring will be available on the class Blackboard site.

You may use up to 3 pages (8.5 x 11" maximum) of notes for each exam. Notes can be typed or written on both sides of the page. I try to grade exams within two weeks of receipt. After your exam is graded, I will email you with comments on items that were missed. If you want to discuss the test with the instructor you may do so by scheduling an appointment with the instructor. Exams are not returned to the student. I do not allow students to review their exam answers after they have submitted their exam.

Due Dates and Deadlines: I will post due dates for exams on the Course Schedule in Blackboard. Generally it is not a problem if you miss the due date by a few days. If you miiss it by a few weeks you may have trouble completing the course. There are also deadlines for completing exams. The last day to take exams 1 & 2 is Sunday May 2.  The last day to take exam 3 is Wednesday, May 12.

Course Subjects

Programming Fundamentals II C++

Typical 16 and 12 week Course Schedules are included below. You can view more detailed course schedules in Blackboard.

Typical 16 week Course Schedule

Week

Topic

1

Chapter 1 - Introduction to Computers and Programming
Chapter 2 - Introduction to C++
Chapter 3 - Expressions and Interactivity

2

Chapter 4 - Making Decisions (Selection)
Chapter 5 - Looping (Repetition)

3

Chapter 6 - Functions

4

Chapter 7 - Introduction to Classes and Objects

5

Chapter 7 (continued)

6

Exam 1

7

Chapter 8 - Arrays

8

Chapter 8 (continued)

9

Chapter 9 – Searching, Sorting and Algorithm Analysis

10

Chapter 10 – Pointers

11

Exam 2

12

Chapter 11 - More about Classes and OOP (selected topics)

13

Chapter 12 - More about Characters, Strings, and the string Class

14

Chapter 13 - Advanced File and I/O Operations

15

Chapter 14 - Recursion (selected topics)

Chapter 18 - Linked Lists (selected topics)

16

Exam 3

 

Typical 12 week Course Schedule

Week

Topic
1

Chapter 1 - Introduction to Computers and Programming
Chapter 2 - Introduction to C++
Chapter 3 - Expressions and Interactivity

2

Chapter 4 - Making Decisions (Selection)
Chapter 5 - Looping (Repetition)

3

Chapter 6 - Functions
Chapter 7 - Introduction to Classes and Objects

4

Exam 1

5

Chapter 8 - Arrays

6

Chapter 9 – Searching, Sorting and Algorithm Analysis

7

Exam 2

8

Chapter 10 – Pointers

9

Chapter 11 - More about Classes and OOP (selected topics)

10

Chapter 12 - More about Characters, Strings, and the string Class

11

Chapter 13 - Advanced File and I/O Operations
Chapter 14 - Recursion (selected topics)

12

Chapter 18 - Linked Lists (selected topics)
Exam 3

Note:  The instructor has the prerogative to change the course schedule as required.