CSC 1051 Algorithms & Data Structures I Summer 2021

SYLLABUS


Meetings
M/W 6:00-8:00, via Zoom
Instructor Dr. Thomas Way
160A Mendel Science Center
Email:   thomas.way@villanova.edu
Office hours (See my web site)
Web site
http://www.csc.villanova.edu/~tway, scroll down, click the Teaching button and follow the link for CSC 1051
Textbook We will be using an online e-textbook called Rephactor Java, as well as other online materials. To acquire the text, visit Rephactor.com, click Create Account, follow steps to pay, then add this course with the ID: U21WayCSC1051
Hardware & Software
  • Internet access, camera, microphone & headphone/speakers
  • Zoom
  • jGrasp
  • Java JDK
Getting Help
Free and knowledgeable help on Labs and Projects is available for all students in the class from Villanova CS Peer Tutors. To get help, visit the Learner's Studio web page and sign up for a tutoring appointment. Our primary tutors for this class are Ander Swartz and Sahil Patel.
Tutors Ander Swartz
aswartz2@villanova.edu
Tutoring hours: tba
Sahil Patel
spate120@villanova.edu
Tutoring hours: tba
Description
This course is an introduction to problem analysis, algorithm design, and the implementation of algorithms in an object-oriented programming language. Extensive programming is required using the Java programming language.
Summer Format Due to the compressed Summer Format time frame of this course (9 weeks rather than 15 weeks), it will move at a faster pace than a standard fall or spring semester course, while covering the same material. As a result, there is an expectation that you will need to spend more time than usual outside of class reading, programming, and completing assignments.
Objectives
  • Establish an understanding of fundamental object-oriented software concepts, including objects, classes, and encapsulation.
  • Establish an understanding of core programming issues, including algorithms, data storage, control structures, method invocation, arrays, and exceptions.
  • Students should be able to design and implement a small application that makes use of library classes and one or two student created classes.
  • Establish a fundamental proficiency in programming using the Java programming language.
Quick Checks Quizzes, Readings, Videos
Readings consist of topics in Rephactor Java, assigned on a weekly basis using the course syllabus. The reading topic syllabus is accessed from your Rephactor dashboard and should be completed prior to the class meeting that will cover them to maximize your learning.

Videos for each topic are available for viewing to supplement material covered during class meetings. Videos are located in the upper right of each Rephactor topic. Videos are optional but are most helpful if viewed prior to the class meeting where their topics will be covered.

Quick Check Quizzes at the end of each topic will be used as part of your grade and will verify that you completed the reading. Quick Check assignments, along with their due dates, will be listed on your Rephactor dashboard. They are auto-graded as you complete them and are due each Wednesday by the start of class, completed in Rephactor. Read more about how Quick Checks are scored.

Easter Eggs are hidden somewhere in each Rephactor topic, and can be found by clicking on specific, italicized words or phrases. If you find all of the Easter Eggs for the topics in your Rephactor syllabus, you'll earn extra credit (* value to be determined).

Exercise Sets
Exercise Set assignments will be assigned on a weekly basis and will be listed on your Rephactor dashboard. These involve a small amount of programming to reinforce what is learned in each week's reading or in preparation for each week's Lab and Project assignments. They are auto-graded as you complete them and are due each Thursday by the end of the day.
Labs
Labs are individual (or sometimes with a partner) Java programming projects involving more code writing work than Exercise Sets or Projects. They are begun during class lab time and are typically due each Monday by the end of the day.
Projects Individual Projects reinforce programming work done in Labs, typically with a slightly different and sometimes more challenging approach. Projects are intended to be done outside of class time and are typically due each Tuesday by the end of the day, submitted via Blackboard.
Due Date Summary Each type of assignment is typically due as follows:
  • Quick Check Quizzes (including Readings & Videos) - due each Wednesday by the start of class
  • Exercise Sets - due each Thursday by the end of the day
  • Labs - due each Monday by the end of the day
  • Projects - due each Tuesday by the end of the day
Exams
There will be two Exams given during the semester, a midterm about halfway thru the session and a final exam during the last class meeting of the session. Each will be designed to take approximately 30 minutes and will be taken on Blackboard. If you must miss an exam, notify the professor before the date of the exam. If possible, make arrangements to take the exam early. Any exam which is missed and not made up will count as 0 points toward the final grade.
Participation
Participation is very important, particularly for the distance learning format we will be using. Participation includes active involvement during online class meetings, keeping up with assigned readings and assignments, engaging in class discussions, asking questions, having fun, and maintaining your part in our collaborative learning experience.
Attendance
Attendance is mandatory and will be taken for each class meeting. Because we are covering a standard semester's worth of material during a shortened summer session, it is important to attend every class meeting. On rare occasions when a class must be missed, contact the instructor via email ahead of time to obtain an excused absence.
Grading policy
10%  Readings, Quick Check Quizzes
10%  Exercise Sets
20%  Labs
20%  Projects
15%  Midterm Exam
20%  Final Exam
  5%  Participation & Attendance (& Easter Eggs)
Final grades
95 A 87 B+ 77 C+ 67 D+
90 A- 84 B 74 C 64 D
80 B- 70 C- 60 D-
Blackboard
Blackboard will be used to communicate student grades. Other uses of Blackboard to be determined soon, may include: handing in selected lab assignments, taking exams, interactive discussions (using the Discussion feature).
Late Assignment Policy
No assignments will be accepted late without the direct consent of the instructor prior to the due date of the assignment. Typical penalty is 10% off for each day an assignment is late. Absolutely no assignments will be accepted beyond the scheduled date of the final exam.
Academic Integrity University Policies

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. For the College’s statement on Academic Integrity, you should  consult the Student Guide to Policies and Procedures. You may view the University’s Academic Integrity Policy and Code, as well as other useful information related to writing papers, at the Academic Integrity Gateway web site.

Computing Sciences 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:

  • Practice exercises: you are allowed full collaboration, including looking at each other's code, sharing coding ideas, and helping find bugs.
  • Lab projects: are meant to be done individually (unless designated as joint projects).
  • Discussing projects: 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 projects 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 hand in for projects.
  • Exams are, of course, to be done individually.
  • If you have any questions regarding what constitutes plagiarism in the context of this course, do not hesitate to discuss them with your professor.
Accommodations Additional support is available to students who need it through the Villanova's offices of  Learning Support Services and Disabilities Services. It is always recommended to seek out extra assistance and advice early rather than waiting. Friendly, qualified, and confidential help is there for you. It is the policy of Villanova to make reasonable academic accommodations for qualified individuals with disabilities. For physical access or temporarily disabling conditions, please contact Disability Services at 610-519-4095 or send them email. Registration is needed in order to receive accommodations.
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.

Last updated: 05/27/2021