Algorithms and Data Structures II is the second course in the introductory computer science sequence. This course builds upon the fundamental concepts of programming and algorithmic design introduced in CSC 1051: Algorithms and Data Structures I. It is intended for computer science majors, computer science minors, and other students with a significant interest in programming and computing. This course begins with object-oriented programming, with an emphasis on objects and classes, encapsulation, interfaces, inheritance, and polymorphism. This is followed by recursion, sorting, time complexity. The second half of the semester will cover programming data structures, which are used to store and organize data. These include lists, stacks, queues, linked list, heaps, hash tables, trees, and graphs.
At the conclusion of the course, students should be able to:
- Demonstrate proficiency in object-oriented programming using the Java programming language.
- Establish an understanding of interfaces, inheritance, and polymorphism.
- Establish an understanding of recursion and recursive programming.
- Establish an understanding of the following data structures, including the specification, imple- mentation, and use of each: stacks, queues, collections, lists, trees, and maps.
- Establish an understanding of basic algorithm analysis issues, including time/space tradeoffs and algorithm growth rates.
- Reading Quick Checks (5%)
- Labs (20%)
- Homework (20%)
- Exam 1 (10%)
- Exam 2 (10%)
- Exam 3 (10%)
- Final Exam (20%)
- Attendance and Participation (5%)
Final letter grades will be assigned as such:
A: >= 94%, A-: >=90, B+: >= 87, B: >= 83, B-: >=80, C+: >= 77, C: >= 73, C-: >=70, D+: >= 67, D: >= 63, D-: >=60, F: <60
Student’s will be allowed to retake one exam (excluding the final) at the end of the semester, if all assignments have been completed. No additional extra credit will be given.
Students who have a 94 or greater average on the first three exams (excluding scores from make-up exams) may be excused from the final exam.
Late submission and missed work Policies
- Late penalty. Homework will be accepted up to 24 hours after the due date without a penalty.
- Dropping the lowest score. You will be allowed one excused homework assignment (the lowest grade will be dropped).
- Excused absences and extensions. No assignments will be accepted after one week of its due date, including those for university official excused absences. This allows graded material to be returned at a reasonable time and for the solution to be disseminated to all students. Excused absences requiring greater than a week to complete missing work will be dropped, increasing the weight of all other assignments.
All students are expected to uphold Villanova’s Academic Integrity Policy and
Code. Any incident of academic dishonesty will be reported to the Dean of the College of Liberal Arts and Sciences for disciplinary action. Take a moment to review the University’s Academic Integrity Policy and Code, including the university’s new policies regarding the use of artificial intelligent systems such as ChatGPT. Additionally, please review the supplemental academic integrity policy from the computing science department (below). Violations of the academic honor code will be reported, which may result in grade penalties up to and including failure of the course.
If a student is found responsible for an academic integrity violation, which results in a grade penalty, they may not WX the course unless they are approved to WX for significant medical reasons. Students applying for a WX based on significant medical reasons must submit documentation and their request for an exception will be considered.
Computing Sciences Academic Integrity Policies
This policy is a supplement to the University policy, specifically addressing issues that relate to academic integrity in computer science courses.
Students in this class are expected to conduct themselves in an ethical, professional manner. Working together with other students can be a great way to learn, so it is much encouraged in this class, subject to the following course policies:
- For lab assignments and other practice exercises you are allowed full collaboration, including sharing coding ideas and helping to find bugs.
- Homework assignments are meant to be done individually (unless designated otherwise)
- Homework Discussion: A general discussion of an approach, or of the merits of various types of algorithms, is encouraged. You can discuss the project goals and help clarify requirements. You can also discuss code examples from the labs or other course materials that might help with the project.
- Restrictions on emailing or posting code online: It is against course policy to share work for any assignment via email or any other electronic means with anyone other than the instructor or the TA. This means that you cannot post your solutions online or share them through any other means, now or at any future date, without explicit permission from the instructor. In cases of sharing with other students in the class, even if you did not intend for your work to be copied, you are already violating the course policies simply by sharing your work electronically. Exceptions to this rule are at the discretion of the instructor. For example, you may request permission to share your work, if you would like to use a project solution as part of an e-portfolio or for a job interview.
- All help must be acknowledged. If any portion of a student’s solution uses code or specific design aspects from another source (in print, or from the Internet, or personal interaction), the student must explicitly indicate such a source. It is a clear act of plagiarism to copy a portion of code from a source without attribution, even if modifications are made.
- Never simply copy or allow someone to copy your work. You must be able to explain in detail any work that you submit.
- It is inappropriate to attempt to receive help in any way not explicitly approved by the instructor during any type of examination. Such help includes using notes, study aids, information from the Internet or an electronic device, and direct communication with classmates.
- If you have any questions regarding what constitutes plagiarism in the context of this course, please ask.
Attendance is mandatory at all class meetings. Where possible, students should inform the instructor if they plan to be late or absent from class. Excused absences do not count toward a failure in the course for first year students. Four or more unexcused absences may result in failure of the course. Absence from class does not release the student from work assigned. Students who miss an in-class obligation (exam, presentation, etc.) due to an excused absence will not be penalized – arrangements including a make-up assignment, alternate time for a presentation, or exemption from the assignment will be made in such circumstances.
Please make a concerted effort to minimize classroom distractions. Refrain from using computers, tablets, cell phones, etc. for non-educational purposes or for work not related to this class. Drinks with a closed lid are permitted, but please refrain from eating in class.
Office of Disabilities (ODS) and Learning Support Services (LSS)
It is the policy of Villanova to make reasonable academic accommodations for qualified individuals with disabilities. All students who need accommodations should go to Clockwork for Students via myNOVA to complete the Online Intake or to send accommodation letters to professors. Go to the LSS website http://learningsupportservices.villanova.edu or the ODS website https://www1.villanova.edu/university/student-life/ods.html for registration guidelines and instructions. If you have any questions please contact LSS at 610-519-5176 or firstname.lastname@example.org, or ODS at 610-519-3209 or email@example.com.
It is common for college students to feel overwhelmed by academic or personal matters. The University Counseling Center, located in 206 Health Services Building, offers individual counseling to discuss personal concerns. More information can be found on their website or you can also reach them by phone: (610) 519-4050.
Absences for Religious Holidays
Villanova University makes every reasonable effort to allow members of the community to observe their religious holidays, consistent with the University’s obligations, responsibilities, and policies. Students who expect to miss a class or assignment due to the observance of a religious holiday should discuss the matter with their professors as soon as possible, normally at least two weeks in advance. Absence from classes or examinations for religious reasons does not relieve students from responsibility for any part of the course work required during the absence.
Villanova University supports an inclusive learning environment where diversity and individual differences are respected, appreciated, and recognized as a source of strength and intellectual inquiry. Our different backgrounds, experiences, and perspectives enrich our learning together; they are welcome and valued in this course. We will demonstrate respect and diligence in understanding how other peoples’ perspectives, behaviors, and world views may be different from our own and how they inform our own understanding. As it is every member’s responsibility to contribute to the creation of a healthy and safe community, students are required to comply with University health and safety directives, guidelines, rules, regulations and protocols in times of emergency and/or public health concern. Violations may be referred for action under the Code of Student Conduct.
The materials used in Villanova University courses (“Course Materials”) generally represent the intellectual property of course instructors, third parties and/or the University which may not be disseminated or reproduced in any form for public distribution (e.g., sale, exchange, etc.) without the written permission of the course instructor. Course Materials include all written or electronic documents and materials, including syllabi, current and past examination questions/answers, and presentations such as lectures, videos, PowerPoints, etc., provided by a course instructor. Course Materials may only be used by students enrolled in the course for academic (course-related) purposes. None of these materials may be (i) retained after the course term expires, (ii) further disseminated, or (iii) accessed by or made available to others. Published course readings (book chapters, articles, reports, etc.) available in Blackboard are copyrighted material. These works are made available to students through licensed databases or fair use. They are protected by copyright law and may not be further disseminated or reproduced in any form for distribution (e.g., uploading to websites, sale, exchange, etc.) without permission of the copyright owner.