Deb Deppeler | Lecture 001 Meetings | Lecture 002 Meetings |
---|---|---|
[TODO: ADD PHOTO] Email: deppeler at cs.wisc.edu server Office: 5376 Computer Sciences Office Hours: TBD |
Days: Mondays and Wednesday Time: 2:30 PM - 3:45 PM Room: 145 Birge Hall Class Dates: Sep 4, 2019- Dec 11, 2019 Midterm Exam: TBD Final Exam: Sat 12/14/2019 5:05pm- 7:05pm |
Days: Tuesdays and Thursdays Time: 2:30 PM - 3:45 PM Room: 5206 Sewell Social Sciences Class Dates: Sep 4, 2019- Dec 11, 2019 Midterm Exam: TBD Final Exam: Sat 12/14/2019 5:05pm- 7:05pm |
Name | Lab Hours | xteam coach for | |
---|---|---|---|
Gautham Sunjay | gautham at cs.wisc.edu | Tuesday 3-5p, Wednesday 5-8p | 001-015 |
Katie Zutter | zutter at cs.wisc.edu | Thursday 3-8p | 030-045 |
Madan Raj | hmadanraj at cs.wisc.edu | Monday 3-5p, Tuesday 5-8p | 114-127 |
Nivi Hariharan | nhariharan at cs.wisc.edu | Thursday 3-8p, | 016-029 |
Roshan Lal | groshanlal at cs.wisc.edu | Tuesday 5-8p, Thursday 5-7p | 079-091 |
Sapan Gupta | sapan at cs.wisc.edu | Monday 4-9p | 100-113 |
Varun Thumbe | thumbe at cs.wisc.edu | Monday 3-5p, Tuesday 5-8p | 051-064 |
Vibhor Goel | vgoelsj at cs.wisc.edu | Wednesday 6-8p, Thursday 5-8p | 128-141 |
Yash Trivedi | ytrivedi at cs.wisc.edu | Monday, Wednesday 7-9p | 065-078 |
More Data Structures and Project Design and Development. You will learn about and analyze efficient data structures, work in teams, find, install, and use professional development tools, design, implement, test, and publish an application with a user friendly graphical user interface.
The third course in our programming fundamentals sequence. It presumes that students understand and use functional and object-oriented design and abstract data types as needed. This course introduces balanced search trees, graphs, graph traversal algorithms, hash tables and sets, and complexity analysis and about classes of problems that require each data type. Students are required to design and implement using high quality professional code, a medium sized program, that demonstrates knowledge and use of latest language features, tools, and conventions. Additional topics introduced will include as needed for projects: inheritance and polymorphism; anonymous inner classes, lambda functions, performance analysis to discover and optimize critical code blocks. Students learn about industry standards for code development. Students will design and implement a medium size project with a more advanced user-interface design, such as a web or mobile application with a GUI and event- driven implementation; use of version-control software.
COMP SCI 300, graduate or professional standing, or declared in the Capstone Certificate in Computer Sciences for Professionals
Students will be able to ...
Lectures meet for 150 minutes each week over the fall/spring semester and carries the expectation that students will work on course learning activities (reading, writing, problem sets, studying, etc) for about 9 hours out of classroom each week. Additional time is typically required for completing graded programming assignment work..
Final grades are based on a student's quantity and quality of work as determined by their final weighted percentage. Letter grades for students near a border are determined by their exam percentage.
Note: Canvas computes a total percentage based on the points for each item in each category. This is a reasonable estimate. However, in some cases, the number of points for graded work does not reflect actual the weight of a given assignment.
This grade scale is included for some context. But, the actual percentages used may be adjusted if the average grades show a higher difficulty for exams and other graded work. I expect that the average final grade in the course for students who complete all components of the course will be a B or bettter.
Students are required to attend lecture as exams will cover information presented in lectures. Students are encouraged to meet each other and work to form study groups. Such groups are helpful for exam review sessions and if you must miss a lecture for any reason.
Students are encouraged to present their work at the Undergraduate Symposium, April 12th at Union South. Meet with your instructor if you have an idea or project you would like to create and present.
Students must notify me within the first two weeks of class of the specific days or dates which they will not be able to complete mandatory course assignments.
The University of Wisconsin-Madison supports the right of all enrolled students to a full and equal educational opportunity. The Americans with Disabilities Act (ADA), Wisconsin State Statute (36.12), and UW-Madison policy (Faculty Document 1071) require that students with disabilities be reasonably accommodated in instruction and campus life. Reasonable accommodations for students with disabilities is a shared faculty and student responsibility. Students are expected to inform faculty [me] of their need for instructional accommodations by the end of the third week of the semester, or as soon as possible after a disability has been incurred or recognized. Faculty [I], will work either directly with the student [you] or in coordination with the McBurney Center to identify and provide reasonable instructional accommodations. Disability information, including instructional accommodations as part of a students educational record, is confidential and protected under FERPA.
In addition to completing an electronic Faculty Notification Letter request through McBurney Connect, students must also contact the instructor [me] directly by the end of the third week of the semester to set up a meeting to discuss the necessary accommodations. The instructor [I] may be unable to meet accommodation requests for students who fail to initiate a meeting by the end of the third week of the semester.
In CS400, we will require you to work in teams for some assignments. We will have several required activities designed to help students learn team building skills that will help them have a productive and rewarding team work experience. We may combine and split up teams in extreme cases. Students should treat all team assignments with the same importance as they would treat a team project their boss assigned them.
Part way through the semester we will create final project teams based on students preferences, skills, and availability.
Schedule is tentative for Spring 2019. Changes are possible as we see how much is covered each week.
Last Updated: 9/19/2018
Week 1: |
Course Intro, Linux, and Black Box Unit Testing Read: Read articles and watch videos as posted in Module 1 on Canvas site. Lecture outlines: Week 1 outline |
Week 2: |
Binary Search Trees: Terms, operations, Read: Trees Binary-Search-Trees, Lecture outlines: Week 2 outline |
Week 3: |
X-Teams (Exercise 1), Balanced Search Trees (AVL) Read: AVL Trees, JUnit 4 JUnit 5 Lecture outlines: Week 3 outline |
Week 4: |
Red-Black Tree Read: Red-Black Trees Lecture outlines: Week 4 outline (added p11-p14) |
Week 5: |
Git/GitHub, 2-3, 2-3-4, and B+ Trees Read: UPL's Git-Tutorial 2-3 Trees Lecture outlines: Week 5 outline |
Week 6: |
Hashing, Collision Resolution, Hash Tables Read: Hashing, [optional] SHA-1 Algorithm, O'Reilly on Nested Classes, Lecture outlines: Week 6 outline |
Week 7: |
Finish Hashing, Graph Terminology Read: Graphs Lecture outlines: Week 7 outline |
Week 8: |
Graphs: Edge Representations, Traversals and Spanning Trees Read: Graphs Lecture outlines: Week 8 outline |
Week 9: |
Graphs: Spanning Trees, Topological Ordering, Dijkstra's Shortest Path Sets, Linear Sorts Read: Sets, Complexity, Sorting Review and Linear Sorts, Flashsort Algorithm by Karl-Dietrich Neubert Lecture outlines: Week 9 outline, |
Week 10: |
Project Intros, Enumerations, Interfaces, OO Design: Diagrams and Documents, UNIX commands, shells, scripts, vim and Makefiles Read: Unix Makefile Tutorial, Enums, Nested Classes, Inner Class Example, Local Classes, Anonymous ClasAses, Lecture outlines: Week 10 outline |
Week 11: |
Java FX: User Interface Controls Java 8: Functional Interfaces Read: Functional programming in Java 8 Using Lambda Expressions, Lambda expressions, Lecture outlines: Week 11 outline |
Week 12: |
Makefiles, JavaFX Main.java, UI Controls, Panels, Scenes Read: Java FX: Create a Form, JavaFX: Hello World Lecture outlines: Week 12 outline |
Week 13: |
EventHandlers, Functional Interfaces, and Streams Read: Java 8 Streams Part I, Java 8 Streams Part II, java.util.stream.Stream API, blog.jenkster.com What is Functional Programming, Quora.com What is Functional Programming, dev.io How to write an awesome GitHub README, Spring 2019 Final Project Design Doc (Quiz Generator) (pdf), Lecture outlines: Week 13 outline |
Week 14: |
HTML/CSS/JS Read: www.w3school.com: HTML, CSS, and JS Clean Code, Object-Oriented vs Functional Programming, Just say no to more end to end tests, Computer Science ethics course, Lecture outlines: Week 14 outline Course Overview Summary |
Week 15: |
Test Driven Development (TDD), Catch Up and Review Read: Lecture outlines: |
Submit only authorized code.
Work that is investigated and found to have violated the code of conduct will be reported to the Dean of Students. Students have the right to appeal any report of Academic Misconduct.
There is 24 hours to withdraw such a submission. To withdraw a submission (for any reason), send email to your instructor indicating which files of which submission (date and time) to withdraw. You do not need to say why. In such a case, your team will receive credit based on other work that was submitted ontime. There is no opportunity to submit different work unless it is still before the due date and time.
Tip: Do your work and don't cheat by using other people's work!
See About Student Conduct for more information regarding your rights and responsibilities.
Report broken links and accessibility issues to deppeler at server cs.wisc.edu
Copyright ©2018 Debra Deppeler, All rights reserved.