CPSC 374 Algorithms and Data Structures
Spring 2023
MWF 2pm ATS 230 (1094)

 


Instructor: Dr. Whitfield; Pronouns: her/she Voice Mail/ Phone: (724) 738-2935
Office Hours: MWF 11am - noon; MW 3pm-4pm E-Mail: deborah.whitfield@sru.edu
Office: 258 Advanced Technology and Science Hall WWW: http://granite.sru.edu/~whit


Required Text:Data Structures & Algorithms in Java, 2nd Ed, Robert Lafore, SAMS, 2003. edition

Catalog Description: This course establishes a foundation for the systematic study of algorithms and data structures. The integration of these two concepts into a single organizational structure emphasizes that algorithms and data structures are inseparably inter-twined. This course builds and elaborates on the concepts introduced in CPSC 146 and 246. This course will be taught in a language other than that used in CPSC 146 and 246.
Credits: 3.
Prerequisite: Cpsc 246

The course grade will be based upon quizzes, exams, assignments, class participation, and attendance. The following is an approximate point assignment for the course:
Paper 40
Programming Assignments 230
Quizzes 40
Exams 200
The final grade will be based on the scale:
100 to 90% -- A
89 to 80% -- B
79 to 70% -- C
69 to 60% -- D
59% and below -- F
The instructor may change this scale to benefit the students.
The final grade is calculated by adding the number of points that the student earns divided by the total number of possible points. Grades are maintained on D2L.

Academic Integrity: All work in this class will be the sole effort of the individual student. Cheating in any form will automatically result in a 0 and may result in failure of the course.

In programming, there is a fine line between cheating and "helping out". In my course, you may discuss the programming assignment and methods of solving the problem with others. However, you may not write code together. You must document any source that you use for an assignment. If the source is not documented, then it is plaguarism! If you have a question about what is permissable, please do not hesitate to ask.

Assignments are due at the beginning of class on the due day unless otherwise specified.. Printer problems, lost data, network connection issues, etc., are not excuses for late work.

Attendance
You are expected to attend every minute of every class session. If you miss a class or portion of a class it is your responsibility to determine what was missed.
Makeup exams are not given unless a valid documented absence is provided. Please note that the health center will not provide excuses.

Correct Pronouns, Names, and Inclusiveness
I enjoy an environment where students have the opportunity to bring all aspects of their selves into the classroom. This includes (but is not limited to) each individual's race, gender identity, ethnicity and religion. I support people of all gender expressions, gender identities and encourage students to use the name and set of pronouns which best reflect who they are. I expect all students to use the correct name and pronouns of their classmates, respect other students' race, ethnicity, and religion and I will do the same. Please inform me if my documentation reflects a name or set of pronouns different from what you use.

Copyrights
Students shall adhere to the laws governing the use of copyrighted materials. They must ensure that their activities comply with fair use and in no way infringe on the copyright or other proprietary rights of others. Additional information regarding copyright can be found here http://www.copyright.gov/ and information about fair use can be found here http://www.copyright.gov/help/faq/faq-fairuse.html.

Reporting Obligations of Faculty Members under Title IX of the Education Amendments of 1972: Slippery Rock University and its faculty are committed to assuring a safe and productive educational environment for all students. In order to meet this commitment and to comply with Title IX of the Education Amendments of 1972 and guidance from the Office for Civil Rights, the University requires faculty members to report incidents of sexual violence shared by students to the University's Title IX Coordinator. The only exceptions to the faculty member's reporting obligation are when incidents of sexual violence are communicated by a student during a classroom discussion, in a writing assignment for a class, or as part of a University-approved research project. Faculty members are obligated to report sexual violence or any other abuse of a student who was, or is, a child (a person under 18 years of age) when the abuse allegedly occurred to the person designated in the University protection of minors policy. Information regarding the reporting of sexual violence and the resources that are available to victims of sexual violence is set forth at: http://www.sru.edu/offices/diversity-and-equal-opportunity/sexual-misconduct-and-victim-resources.

Non-discrimination: Slippery Rock University of Pennsylvania does not discriminate on the basis of race, color, sex, sexual orientation, gender identity, gender expression, national origin, religion, age, disability, or veteran status in its programs or activities in accordance with Title IX of the Educational Amendments of 1972, the Americans with Disabilities Act of 1990, Section 504 of the Rehabilitation Act of 1973, Title VII of the Civil Rights Act of 1964, and other applicable statutes and University policies. www.sru.edu/offices/diversity-and-equal-opportunity/notice-of-non-discrimination

Program Objectives Assessed in CpSc 374

Learning Outcomes

Assessed Course Objective

PS & CT c. Perform critical analyses of the impacts of decisions based on mathematics (Computing)

PS & CT c. Perform critical analyses of the impacts of decisions based on mathematics (CYBR)

1. Implement an algorithm by creating a tested and debugged programmatic solution. (Computing 1)

2. Select and apply algorithms to solve specific problems and to analyze the effectiveness of algorithms in context. (CYBR 1)

PS & CT d. Implement computing solutions that consist of system and application software written for modern computing platforms (CYBR)

3. Understand the basic abstract data types, associated operations and applying them to solve problems. (CYBR 2)

C & IS b. Use written, oral, and electronic communication to convey technical information effectively. (Computing)

4. Write a paper on one or more algorithms and/or data structures. (Computing 2)

E & PR c. Demonstrate an awareness of the codes of professional ethics in the information technology industry (Computing)

PS & CT c. Perform critical analyses of the impacts of decisions based on mathematics (CYBR)

5. Understand the implications of efficiency and accuracy of data representation, data structures, and/or algorithms in an information society (Computing 3)

6. Select and apply algorithms to solve specific problems (SO#1, PI #2) and to analyze the effectiveness of algorithms in contexti(SO#1, PI#1). (CYBR 1)

E & PR e. Recognize the need for continuing professional development (Computing)

7. Understand the need for continuing development as a computing professional. (Computing 4)

C & IS a. Document all aspects of a system precisely and clearly (Computing)

8. Write well documented code with an appropriate user interface that meets style requirements for readability and usability. (Computing 5)

The student will be able to:

  1. Describe and apply the concepts of recursion, object-oriented design, abstract data types, encapsulation, code reuse and space and time complexity
  2. Demonstrate an understanding of ethics and intellectual property rights as they apply to code reuse, reverse engineering, and the completion of class assignments.  
  3. Analyze the complexity of computer algorithms and data structures.
  4. Implement and use data structures such as stacks, queues and linked lists
  5. Demonstrate an understanding of some additional data structures such as trees, priority queues and graphs.
  6. Implement and use advanced searching and sorting techniques.