Syllabus - Whole Class PDF

Title Syllabus - Whole Class
Course Prog Design Data Struct
Institution Vanderbilt University
Pages 3
File Size 185.3 KB
File Type PDF
Total Downloads 81
Total Views 148

Summary

Syllabuss...


Description

CS2201.04 Program Design and Data Structures Fall 2020, Vanderbilt University Time/Place: 9:10am-10:00pm, MWF, Featheringill Hall 138 and Zoom Instructor: Dr. Jerry Roth, [email protected], 220 Featheringill Hall, 615-322-2907 Office Hours: Tuesdays 8:30am-12:00noon, or by appointment. Zoom only. Teaching Assistants: Names and email addresses of all TAs will be posted on Brightspace (see “Instructor/Staff” link). TA Office Hours: Will be held via Zoom only. Texts: Program Design and Data Structures C++, On-line textbook (required). Sign in or create an account at learn.zybooks.com, enter code: VANDERBILTCS2201Fall2020, and subscribe (use your vunetid as your student id). C++ Primer, 5th Edition (optional), Lippman/Lajoie/Moo, Addison-Wesley, 2012. ISBN: 978-0321714114 Prerequisites: CS1101 or CS1104 Catalog Description: Continuation of CS1101. The study of elementary data structures, their associated algorithms and their application in problems; rigorous development of programming techniques and style; design and implementation of programs with multiple modules, using good data structures and good programming style. Course Overview: CS2201 is intended to continue the beginning computer science student's understanding of the analysis, design, implementation, testing, and debugging of programs. The emphasis in the course is on the use of abstract data types and data structures in solving problems. The C++ programming language is used. For this course, it is expected that you have either a laptop or desktop computer which can run the CLion IDE and the clang compiler. If you do not have your own computer, you can use the computers in the EECS computer labs located in FGH201 and FGH203. Computers are NOT needed for tests. You should bring a laptop or other electronic device to lecture to follow along with our lectures in TopHat and participate in the interactivities during class. Course Management: This course will utilize Vanderbilt's Brightspace system: http://brightspace.vanderbilt.edu The course management tool will be an important source of information regarding the class, homework, and programming assignments. You are expected to check it regularly (every MWF at a minimum). We will also be using the Top Hat (https://www.tophat.com) classroom response system in class to take attendance, present lectures and participate with in-class questions. You will be able to participate and view the lectures in real-time using Apple or Android smartphones and tablets, laptops, or through text message. Laptop or tablet is recommended for ease of viewing lecture slides during class. Grading:

Tentative Grading Scale***:

Exam #1 (9/23/20)

10% of final grade

Exam #2 (10/14/20)

10% of final grade

90-100

A range

Exam #3 (11/11/20)

15% of final grade

80-89.9

B range

Comprehensive Final (12/9/20)

20% of final grade

70-79.9

C range

Programming Assignments & Homework

40% of final grade*

60-69.9

D range

zyBook Activities and in-class participation

5% of final grade**

0-59.9

F

* The programming assignments are very important in this class, as they are meant to further develop your skills as a software developer. This instructor reserves the right to FAIL (or give a D- to) any student who does not make a good faith attempt on all programming assignments. ** You must complete >= 90% of each required zyBook activity and earn a score of >= 75% of lecture/video interactions to earn the full 5% of your final grade *** Final grades will include plusses and minuses (e.g., A-, B+, etc.), but the dividing lines for them are not set in advance. Final Exam: Day and Time: Common Final Exam: Wednesday, 12/9/20, 7:00 pm – 10:00 pm

Exam Make-Up Policy: In-class exams must be taken at announced times with your assigned section unless previous permission is given by the instructor for a school-approved absence. Otherwise, a late penalty of 50% will be assessed for any exam given up to 48 hours late. After 48 hours, no makeup exams will be administered without notification from the Dean of Students. A student sending email or leaving a message on the university phone system does not constitute permission. Programming Assignments: Unless specified otherwise, assignments are due at 9:00pm on the due day. Assignments turned in up to 0-24 hours late will be penalized 20%, and those turned in 24-48 hours late will be penalized 50%. After 48 hours, no credit for the assignment will be given. There are no “free late days” as available in CS1101. Note: the instructor will not answer questions about programming assignments in the last 2 hours before the assignment deadline. All programs submitted for grading will be graded using the CLion IDE and the clang compiler. If you use a different IDE/compiler to develop your programs, it is your responsibility to ensure that your programs compile and run correctly with CLion/clang. zyBooks Activities Late Policy: Unless specified otherwise, zyBooks activities are due at 11:59 pm on the due date. No late zyBooks activities are accepted without a note from the Dean's office. To receive full credit for zyBooks activities, you must complete >= 90% of the required participation activities for each required section in zyBooks. Since the zyBooks material is designed to go hand-inhand with the lecture material, late completed activities will not be accepted. You will have a week to complete the zyBooks activities and will need to plan on completing it to >= 90% completion threshold by the due date Piazza: We will also utilize the on-line social media tool Piazza (http://www.piazza.com/) to support the free exchange of questions & answers regarding course material. Questions regarding programming assignments should be posted to Piazza rather than being emailed to the course instructor or TA. Students are encouraged to answer the questions from other students. Please make sure you read & understand the class restrictions on using this tool (they are posted in Piazza); in particular, you are not allowed to post computer code that deals with an active assignment. Grading disputes: If you have a question concerning the grade you receive on an assignment or exam, you must bring your question to the appropriate staff member within two weeks of the grade being posted. Questions on exam grading should be brought to the attention of the course instructor. Questions on the grading of programming assignments should be brought to the attention of the TA who graded the assignment (identified in the assignment feedback). If you are not satisfied with the response from the TA, only then should you contact the course instructor. After the two-week period, no grades will be changed. CS2201 Topics: • Intro to C++ • Generic/template algorithms and classes • Analysis of algorithms; Big-Oh notation • Using the C++ Standard Template Library • Advanced array processing • Graphs and graph algorithms • Sorting & searching • Balanced trees • Creating & manipulating dynamic data structures • Backtracking algorithms • Advanced memory management issues • Professional ethics; making informed judgments • Recursive problem-solving strategies and algorithms • Testing & debugging • Creating & using standard data structures: list, stacks, queues, trees, hash tables Course outcomes: At the end of this course, students should be able to: (1) analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions; (2) design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline; (3) apply computer science theory and software development fundamentals to produce computing-based solutions; and (4) recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. Special needs: Vanderbilt is committed to equal opportunity for students with disabilities. If you have a physical or learning disability, you may ask the Student Access Services Department to assist you in identifying yourself to your professor as having a disability so that appropriate accommodation may be provided. Absent notification, the professor may assume that you have no disabilities or that you seek no accommodation. This means every student is expected to be in the classroom during tests unless official documentation is provided at the start of the semester, and arrangements are made before each test. Academic Honesty: The essence of the Honor Code at Vanderbilt states that no student may receive credit for work they did not do themselves. The specific rules as they apply to CS2201 will be explained in lecture and are also posted in Brightspace. It is your obligation to make certain that you understand and abide by these rules. If you have any doubts, ask your professor for clarification, not another student, not even the teaching assistant. Violations of the honor code will be pursued to the fullest extent via the Honor Council. Note: the instructor utilizes special tools to identify potential plagiarism in programming projects. Time: Many of the programming projects in this class are complex and require significant time commitments for both designing a solution and coding your solution. I recommend that you get started as soon as they are made available (start thinking, not coding).

Syllabus items particular to this hybrid class: Attendance: This class is being taught in a hybrid fashion. Come to class in person on your assigned day of the week, which was communicated via email. On other class meetings days, you should participate synchronously online using the Zoom link sent to you via email. If you have any reason to believe that you may be ill or have been a close contact of someone who is COVID-19 positive, do NOT come to class in person. Contact Student Health right away. Participate remotely until you are cleared to return to classes. No portion of your grade will be tied to in-person attendance. Recording of lectures: Although learning online means that we engage in classroom discussion using different tools than we would if we were together in person, the principles of how we engage with one another remain the same. Vanderbilt University seeks to protect the intellectual property of all our faculty, and to safeguard the privacy of all our students in online learning environments. To this end, students may not record, reproduce, screenshot, photograph, or distribute any online content from their courses, including recordings of in-person or Zoom class sessions, except for their own personal educational use. Similarly, instructors may not, in general, share recordings of class activities with individuals not already participating in the class as students, teachers, or guests. Any recordings by students or instructors generally should be deleted at the end of the semester. Failure to abide by recording policies may be an Honor Code violation or may result in corrective action through the University’s accountability process depending on the circumstances. Students who participate in class Zoom sessions with their camera engaged or utilize a profile image are agreeing to have their video or image recorded and made available to other students in the course and the instructor. If you are unwilling to consent to have your profile or video image recorded, be sure to keep your camera off and do not use a profile image. Likewise, students who un-mute during class Zoom sessions and participate orally are agreeing to have their voices recorded and made available to other students in the course and the instructor. If you are not willing to consent to have your voice recorded during class, you will need to keep your mute button activated. You may communicate using the "chat" feature, which allows students to type questions and comments live, however, note that the “chats” (with names) will be captured if the class is recorded....


Similar Free PDFs