Syllabus
Programming Fundamentals III: Data Structures

Programming Fundamentals III: Data Structures

COSC-2436

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

Course Information

Section 001
Distance Learning
TTh 12:00 - 13:20
DLS DIL
Kathryn Rehfield

Section 001
Laboratory
TTh 13:30 - 14:50
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:  

Further applications of programming techniques, introducing the fundamental concepts of data structure and algorithms. Topics include recursion, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs), and algorithmic analysis.

 

Prerequisite: 

COSC 1337 or instructional program approval. Course Type: T.

 

Instructional Methodology: 

This course will have 50% lecture and 50% laboratory. 

The CIS open labs are available for students for work outside of scheduled lab time. 

 

Course Rationale:  

This course is designed to teach students the fundamental data structures and the algorithms used to manipulate them. The data structures and algorithms will be implemented in a modern object-oriented programming language (C++). Since this course is designed to transfer into a bachelor degree program, check with the college to which you plan to transfer to be sure that they will accept this course.

 

Readings

Data Abstraction & Problem Solving with C++

REQUIRED |By CARRANO

•         EDITION:   7TH,  2017

•         PUBLISHER:   PEARSON

•         ISBN:   9780134463971

 

Course Requirements

Grade Policy:

 

Grade will be assigned based both on concepts and practical application. Exams, homework, and lab assignments 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 chapter exercises, exams, and program assignments. The grade breakdown is as follows:

Assignments

Percent Each

Percentage of Final Grade

3 Exams

12%

36%

18 Assignments of Select Chapter Exercises

1%

18%

4 Program Assignments

10%

40%

Attendance and Participation

6%

6%

Total

 

100%


All assignments have a due date shown in Blackboard. Assignments must be submitted via Blackboard.

If a student is not able to complete a lab assignment within the scheduled lab time, he or she is expected to complete that assignment outside of class time either in a CIS open lab or using a personal computer with the appropriate tools installed. Scheduling of computer time outside of regular lab time is the student’s responsibility and an inability to find an available computer will not result in a waived late penalty.

 

Missed EXAMS must be made up no later than the next scheduled class period. Exams can be missed only for extreme circumstances (Example: hospitalization). Please contact the instructor IN ADVANCE if you will miss one of the exams. There are NO makeup exams for un-excused absences. Only one exam may be taken as a makeup exam.

 


Student Learning Outcomes/Learning Objectives

Course Objectives / Learning Outcomes:

  1. Demonstrate a thorough understanding of the behavior of basic data structures: lists, stacks, queues and trees by developing programs that implement or apply these data structures.
  2. Demonstrate a thorough understanding of how data structures impact the performance of algorithms.
  3. Demonstrate a thorough understanding of the object-oriented concepts of data abstraction and encapsulation by designing and implementing data structures using classes.
  4. Demonstrate a thorough understanding of template classes by developing programs that use them.
  5. Demonstrate an understanding of recursion by applying recursive techniques to solve problems including list and tree processing.
  6. Demonstrate a thorough understanding of searching and sorting algorithms including recursive techniques.
  7. Demonstrate proficiency in implementing data validation code and performing unit and integration testing by developing robust solutions to the assignments in this course.
  8. Demonstrate good documentation style in all of the programs written in this course.

 

 

 

 

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

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

 

RESOURCES

1.1 Manages Time

INTERPERSONAL

2.1 Participates as a member of a team

2.6 Works with Cultural Diversity

INFORMATION

3.1 Acquires and Evaluates Information

3.2 Organizes and Maintains Information

3.3 Uses Computers to Process Information

SYSTEMS

4.1 Understands Systems

4.2 Monitor and Corrects Performance

4.3 Improve and Designs Systems

TECHNOLOGY

5.1 Selects Technology

5.2 Applies Technology to Task

5.3 Maintains and Troubleshoots Technology

 

BASIC SKILLS

6.1 Reading

6.2 Writing

6.3 Arithmetic

6.4 Mathematics

6.5 Listening

THINKING SKILLS

7.2 Decision Making

7.3 Problem Solving

7.4 Mental Visualization

7.5 Knowing How to Learn

7.6 Reasoning

PERSONAL SKILLS

8.1 Responsibility

8.2 Self-Esteem

8.3 Sociability

8.4 Self-Management

8.5 Integrity/Honesty

 

course/class policies

Attendance/Class Participation

Regular and punctual class 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.  

 

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 last date to withdraw for this semester is April 26, 2021. The student is also strongly encouraged to retain their copy of the withdrawal form for their records.

 

Students who enroll for the third or subsequent time in a course taken since Fall, 2002, may be charged a higher tuition rate, for that course. 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.

 

Incompletes

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

A student attending ACC assumes responsibility for conduct compatible with the mission of the college as an educational institution. Students have the responsibility to submit coursework that is the result of their own thought, research, or self-expression. 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, and falsifying documents. Penalties for scholastic dishonesty will depend upon the nature of the violation and may range from lowering a grade on one assignment to an “F” in the course and/or expulsion from the college.

 

See the Student Standards of Conduct and Disciplinary Process.

 

For this course, the penalty for scholastic dishonesty is a grade of ‘F’ for the course.

 

Student Rights and Responsibilities

Students at the college have the rights accorded by the U.S. Constitution to freedom of speech, peaceful assembly, petition, and association. 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. Opportunity for students to examine and question pertinent data and assumptions of a given discipline, guided by the evidence of scholarly research, is appropriate in a learning environment. This concept is accompanied by an equally demanding concept of responsibility on the part of the student. As willing partners in learning, students must comply with college rules and procedures.

 

Statement on Students with Disabilities 

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 

Austin Community College is committed to providing a safe and healthy environment for study and work. You are expected to learn and comply with ACC environmental, health and safety procedures and agree to follow ACC safety policies. Because some health and safety circumstances are beyond our control, we ask that you become familiar with the Emergency Procedures poster and Campus Safety Plan map in each classroom.

 

 

 

Please note, you are expected to conduct yourself professionally with respect and courtesy to all. 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.

 

Testing Center Policy

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

 

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 both on line and face-to-face.  For online schedules and details please refer to http:://www.austincc.edu/cit .

 

Student Files – Privacy

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

 

Use of Electronic Devices (for on-ground classes)

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

ACC faculty may notify students in their classes or learning environment about the Texas Campus Carry law taking effect at Austin Community College (and other Texas community colleges) on August 1, 2017. The following is recommended syllabus language, approved by legal counsel and the college. For courses including ACC-sponsored field activities, language is still being drafted.

 

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.

 

 

 

1. Statement for standard classroom courses (non-exclusion zone)

Refer to the concealed handgun policy online.

 

2. Statement for classroom courses with physical activity (non-exclusion zone)

IMPORTANT: (Class name) classes may involve considerable physical activity. Bending, stretching, lifting, and other rigorous activities associated with (class name) occur regularly in class. Such activities may expose concealed weapons and place the license holder in violation of state law. Therefore, it is recommended that concealed weapons be stored in a secure place as defined by college policy prior to entering the classroom, studio, or learning space.

Refer to the concealed handgun policy online.

 

3. Statement for classroom courses in exclusion zones

IMPORTANT: (class name) classes are held in an area designated as an exclusion zone as defined by state law or the college’s concealed handgun policy. Concealed carry is prohibited in exclusion zones. Concealed weapons must be stored in a secure place as defined by college policy prior to entering the classroom, studio, or learning space.

Refer to the concealed handgun policy online.

 

4. Facts

  • All public Texas colleges and universities must abide by the law.
  • Private institutions may opt out of implementing the law.
  • The concealed campus carry law does not allow open carry on campus.
  • A person must have a License to Carry a Handgun (LTC).
  • A person must be at least 21 to obtain a LTC, unless he/she is active duty military or a police officer.
  • Faculty and staff do not have authority to ban handguns from classrooms.
  • Campus carry laws exist in eight states (Texas, Colorado, Utah, Idaho, Mississippi, Kansas, Oregon, and Wisconsin).
  • Licensed gun owners have been allowed to carry concealed handguns on public campuses (but not in buildings) for 20 years.
  • While Texas is currently in a legislative session, there are no indications lawmakers will change the law.

 

 

 

 

Use of ACC E-mail

All College e-mail communication to students will be sent solely to the student’s ACCmail 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 ACCmail account when communicating with instructors and staff. Instructions for activating an ACCmail account.

Student and Instructional Services

ACC strives to provide exemplary support to its students and offers a broad variety of opportunities and services. Information on these services and support systems is available here. Links to many student services and other information can be found at Current Students. ACC Learning Labs provide free tutoring services to all ACC students currently enrolled in the course to be tutored. The tutor schedule for each Learning Lab may be found here. For help setting up your ACCeID, ACC Gmail, or ACC Blackboard, see a Learning Lab Technician at any ACC Learning Lab.

Course Subjects

COURSE SCHEDULE

Week 

Date

Topic

Reading

Assignments

01/19

01/21

Intro & Syllabus 

Review 

Syllabus 

Chapter 1 

 

Chapter 1 Exercises

01/26
01/28

Data Abstraction 

C++ Classes 

Chapter 1 

Interlude 1 

Chapter 1 Exercises

02/02
02/04

(Polymorphism & Virtual Functions)

Recursion

(Gaddis Ch 15)

Chapter 2

Chapter 2 Exercises

LAB 1 Arrays and Recursion

02/09
02/11

Arrays

Pointers and Polymorphism 

Chapter 3

Interlude 2 

Chapter 3 Exercises

02/16
02/18

     

02/23
02/25

 

Linked Based Implementations

 

Chapter 4 

 

Chapter 4 Exercises

03/02
03/04

Recursion Problem-Solving 

(Stacks) 

Stacks

ADT Stack 

Chapter 5 

(Gaddis Ch 18)

Chapter 6

Chapter 7

Chapter 5 Exercises

Chapter 6 Exercises

Chapter 7 Exercises

LAB 2  Stacks

03/09
03/11

Exam 1 

(Linked Lists)

Lists

List Implementations 

 

(Gaddis Ch 17)

Chapter 8

Chapter 9 

 

Chapter 8 Exercises

Chapter 9 Exercises

Spring Break 03/15-03/19

03/23

03/25

Smart Pointers

Algorithm Efficiency  

Interlude 4 

Chapter 10 

Chapter 10 Exercises

10 

03/30
04/01

Sorting Algorithms 

Class Relationships 

Chapter 11

Interlude 5 

Chapter 11 Exercises

11 

04/06
04/08

Sorted Lists 

Queues 

(Queues)

Chapter 12 

Chapter 13

(Gaddis Ch 18)

Chapter 12 Exercises Chapter 13 Exercises

12 

04/13
04/15

Queue Implementations

Exam 2 

Chapter 14 

LAB 3 Linked Lists

Chapter 14 Exercises

13 

04/20
04/22

Overloaded Operators 

Interlude 6

 

14 

04/27
04/29

(Binary Trees)

Trees

Tree Implementations 

(Gaddis Ch 19)

Chapter 15

Chapter 16 

Chapter 15 Exercises

Chapter 16 Exercises

Lab 4 Binary Trees

15 

05/04
05/06

Heaps

Hash Tables 

Chapter 17 

Chapter 18 

Chapter 17 Exercises

Chapter 18 Exercises

16 

05/11
05/13

Hash Tables cont.

Exam 3

Chapter 18