COSC-2436 Programming Fundamentals III: Data Structures
Bernard Ku
Credit Summer 2024
Section(s)
COSC-2436-004 (79925)
LAB TuTh 2:25pm - 4:40pm DIL DLS DIL
LEC TuTh 12:10pm - 2:25pm DIL DLS DIL
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.
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.
Course Requirements
Each student’s grade for this course consists of:
EXAM 1 |
15% |
EXAM 2 |
15% |
EXAM 3 |
15% |
20 Quizzes – 15 Chap + 5 Inter |
15% |
5 Labs |
35% |
Class Participation and Attendance |
5% |
Students are expected to read and study the assigned material, per the Course Schedule before each class, including the assignments.
Student Learning Outcomes/Learning Objectives
-
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.
-
Demonstrate a thorough understanding of how data structures impact the performance of algorithms.
-
Demonstrate a thorough understanding of the object-oriented concepts of data abstraction and encapsulation by designing and implementing data structures using classes.
-
Demonstrate a thorough understanding of template classes by developing programs that use them.
-
Demonstrate an understanding of recursion by applying recursive techniques to solve problems including list and tree processing.
-
Demonstrate a thorough understanding of searching and sorting algorithms including recursive techniques.
-
Demonstrate proficiency in implementing data validation code and performing unit and integration testing by developing robust solutions to the assignments in this course.
-
Demonstrate good documentation style in all of the programs written in this course.
SCANS (Secretary’s Commission on Achieving Necessary Skills):
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 Policies
Class progress: Students are expected to keep up with the schedule of the class. In this course, each new concept builds on previous concepts so that regular progress through the material is crucial to success on tests and assignments.
Software
You should have a DevC++ compiler that supports ANSI standards installed on your computer. In addition, the Computer Science & Information Technology Department has an agreement with Microsoft Corporation called the Microsoft Academic Alliance. This agreement allows students to obtain compilers and certain other software at a greatly reduced cost. Contact your instructor for more information.
Orientation
Orientation is required. Students who do not complete orientation during the first week of class and do not contact the instructor will be dropped from the class.
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 because of class sessions being missed.
Since this class will be entirely online, you are expected to check your ACC email messages regularly and check Blackboard regularly.
Programming Assignments
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.
All submitted programs must compile and run on DevC++ 5.12 Under Windows 11 or the latest version on the platforms in the CIS Labs. Students can develop their programs on other C++ platforms but they must port the developed codes and able to compile and execute on DevC++, Students are also expected to understand the proper use of working with their ACC drive for this course and the installed software on the CIS Lab computers.
Submitting Assignments: Programming assignments are 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 .cpp and .h files, that contains your C++ program code. Do not post program code to the class discussion board.
Due Dates: Programming assignment due dates will be posted on the course schedule. You should try to have assignments completed by the due date. In general, you should avoid turning in incomplete assignments - it is not a problem to take a few extra days to complete the assignment.
A portion of your grade on every assignment will be based on your program style and documentation. Program documentation involves the proper use of variable names, indention, comments, etc. It is important to make the programs as readable as possible and style requirements will be included with each assignment. 0 credit will be given to assignments that are not correctly built as DevC++ programs and/or have compile errors on the ACC CIS workstations.
For details lease refer to grading guidelines posted on Blackboard.
Success in this course depends on the ability understand the course material and 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.
Only assignments submitted to Blackboard will be considered for grading. Never email the instructor your programming assignment.
All programming assignments are due on Sunday before 11:59 pm on the date posted in the Blackboard/Course Schedule as timestamped by Blackboard. Most programming assignments may be submitted late (grace period) up to one day with a late penalty of 20%. Grading feedback may not be provided promptly for work submitted late. The grace period is not a substitute for the due date, and it is the instructor’s prerogative to end the practice of or change the conditions of the grace period as necessary. Some assignments do not have a grace period and are noted in the Course Schedule.
Program documentation involves the proper use of variable names, indention, comments, etc. It is very important to make the programs as readable as possible and the instructor will strictly enforce the documentation guidelines for this course.
Correct build and testing of DevC++ Programs on the CIS workstations are part of the requirements.
Please contact me if you have questions about the assignment expectations or grading process.
Exams
Exams will cover material from the textbook, lab assignments and instructor’s slides and may include supplemental material from the class Blackboard site. Topics for each exam will be listed on the Exam Review web pages.
All exams will be administered in Blackboard and will be proctored by the ACC Distance Proctoring team. More testing information will be provided on the class Blackboard site. Each exam will have a 1 hour and 30 minutes’ time limit (max allowed by DE), but DE Proctoring will likely ask you to arrive 30 minutes early to get checked in.
You may use up to 3 pages (of size 8.5 x 11" maximum) of notes for each exam. You may print or write on both sides of the page. A student wishing to discuss the test with the instructor may do so by scheduling an appointment with the instructor (normally this would be an online appointment). After you have submitted an exam, you will not be able to review your answers again.
Due dates and Deadlines: Since this is a Synchronous Online class, all students will need to take the exams on the same day and at the same time, just like in person class. Tentative exam dates are set as June 20 (Thurs), July 11 (Thurs) and July 25 (Thurs) from 12:10 pm to 1:40 pm. Instructor will share the DE proctoring information for students to sign up in advance. Students should sign up as soon as the information is available. Failure to sign up or no shows on the exam dates will automatically result in a zero grade.
There will be no makeup exams in this course. Under extreme circumstances or ACC allowed scenarios (Example: hospitalization) if a student has appropriate documentation an exam may be rescheduled in advance. This is at the sole discretion of the instructor, and you must obtain the consent of your instructor no later than 10 days in advance of the regularly scheduled exam during office hours.
Under no circumstances will a rescheduled exam, makeup exam, or replacement grade be given to a student who does not maintain regular and punctual attendance in lecture and lab, has unsatisfactory grades, or whose compliance with other course and grade policies is unsatisfactory.
Withdrawal Policy
t 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 July 15, 2024. 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:
-
The student is unable to complete the course during the semester due to circumstances beyond their control.
-
The student must have earned at least half of the grade points needed for a “C” by the end of the semester.
-
The request for the grade must be made in person at the instructor’s office and necessary documents completed.
-
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.
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 .
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 Schedule
Summer 2024 Schedule – COSC 2436 -004 - Tentative
Lecture D M Topic |
||
1 T |
28 May |
Introduction, Syllabus, Ch 1 Abstract Data Type (ADT) |
1 T |
28 May |
Lab 0 IPO, Discussions and Demo |
2 R |
30 May |
Ch 2 Recursion – Part 1 |
2 R |
30 May |
Refresh on Advanced C++ |
3 T |
4 Jun |
Ch 5 Recursion Part 2 |
3 T |
4 Jun |
Lab 1 IPO, Discussions and Demo |
4 R |
6 Jun |
Ch 3 Array ADT and Implementation |
4 R |
6 Jun |
Inter 1 and Inter 2/ Lab 2 IPO, Discussions and Demo |
5 T |
11 Jun |
Ch 4 Link ADT and Implementation |
5 T |
11 Jun |
Ch 6/7 Stack ADT and Implementation |
6 R |
13 Jun |
Lab 1 Team reports/Inter 3 |
6 R |
13 Jun |
Lab 3 IPO, Discussions and Demo |
7 T |
18 Jun |
Exam 1 Review (Ch 1-7, Inter 1/2, Lab 0/1 Applications) |
8 R |
20 Jun |
EXAM 1 (12:10 pm - 1:40 pm) |
9 T |
25 Jun |
Ch 8/9 List ADT and Implementation |
9 T |
25 Jun |
Inter 4 |
10 R |
27 Jun |
Ch 10 Algorithm Efficiency Ch 11/12 Sorting Algorithms |
10 R |
27 Jun |
Lab 4 IPO, Discussions and Demo |
11 T |
2 Jul |
Ch 13/14 Queue ADT and Implementation |
11 T |
2 Jul |
Inter 5 |
|
4 Jul |
NO CLASS |
12 T |
9 Jul |
Exam 2 Review (Ch 8-14, Inter 4/5, Lab 3/4 Applications) |
13 R |
11 Jul |
EXAM 2 (12:10 pm - 1:40 pm) |
13 R |
11 Jul |
Ch 15/16 Binary Search Tree ADT and Implementation |
14 T |
16 Jul |
Lab 5 IPO, Discussions and Demo/ Lab 4 Team reports |
14 T |
16 Jul |
Ch 17 Heap ADT and Implementation /Inter 6 |
15 R |
18 Jul |
Ch 18 Dictionary ADT and Implementation |
15 R |
18 Jul |
Ch 18 Hashing and Hash Table Implementation and Demo |
16 T |
23 Jul |
Exam 3 Review (Ch 15-18, Inter 6, Lab 5 Applications) |
17 R |
25 Jul |
EXAM 3 (12:10 pm - 1:40 pm) |
|
As the instructor for this course, I reserve the right to adjust the schedule in any way that serves the educational needs of the students enrolled in this course. – Bernie Ku |
Students are expected to read and study the assigned material, per the course schedule, BEFORE each class, this includes the laboratory assignments!!15-
Office Hours
M 10:00 AM - 11:00 AM Class Zoom Link on Blackboard
NOTEPublished: 05/30/2024 11:07:49