Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

COMPSCI400: Programming III (001) FA23

Getting Started Checklist

Table of Contents

1. Course Overview

2. Canvas Site Overview

3. Prerequisites and Software Requirements

4. Additional Tools and Optional Text Book

1. Course Overview

All sections of CS400 share this canvas site, so you'll want to confirm your enrollment in the Student Center (https://my.wisc.edu/) to one of the following lectures:

Section 01: TuTh 11:00AM - 12:15PM, STERLING HALL 1310 (https://maps.wisc.edu/s/si0qhzxl) (TopHat Join Code: 262377)

Section 02: TuTh 2:30PM - 3:45PM, HUMANITIES 2340 (https://maps.wisc.edu/s/ws5cn6t8) (TopHat Join Code: 575202)

Section 03: MoWeFr 2:25PM - 3:15PM, VAN VLECK B102 (https://maps.wisc.edu/s/8il238y5) (TopHat Join Code: 510499)

Section 10: Thu 5:30PM - 8:30PM, The Beatles @ Epic (TopHat Join Code: 101525)

Lectures include TopHat participation activities that are graded based on participation rather than correctness. If you ever miss a lecture due to illness or any other cause, be sure to review the lecture recording and submit your responses to any participation prompts using our "late participation" form WITHIN THREE DAYS. Failing to complete this form in a timely manner, or missing more than a few lectures in this way limits our ability to reimburse points at the end of the term.

Practice working with data structures and software development outside of lecture will be important to succeed in this course. We anticipate the "average" student spending approximately the times listed below in the following ways:

Weekly Activity and Quiz (1.5 hours) - Weekly activities give you a quick and relatively low stakes way to practice using tools and techniques covered in lecture. Weekly quizzes give you practice solving algorithmic problems, and help you check your understanding of course topics for credit.

Weekly Project Work (4 hours) - You'll used the tools covered in class to collaboratively design and develop two course projects through the semester.

Studying and Reviewing (1 hours) - We recommending spending a little time each week reviewing your notes and course materials, to deepen your understanding and help prepare yourself for exams.

Speaking of Exams, now is an excellent time to add our two exam dates to your calendar. If you have any conflicts with these dates, please report them through our "alternate exam request" form by Friday, September 15th. Also use this same form to request accommodations (such as those recommended by the McBurney Center (https://mcburney.wisc.edu/accommodations-listing/) ) for CS400 exams. A course staff member will follow-up with you 1-2 weeks before each exam to confirm how these adjustments may impact your exam schedule.

2. Canvas Site Overview

Familiarize yourself with the organization of this canvas page.

Schedule (Home) Page: Contains the schedule of weekly lecture topics and links to course assessments: activities, quizzes, projects, and exams. Find links to each lecturer's notes, slides, and recordings near the top of this page. Find the "late participation" form and "clarification and regrade request form" links near the bottom of this page.

Policies and Grading: Describe course policies around grade calculations and link to official course syllabus.

Exams: Includes a link to our "alternate exam request" form for reporting scheduling conflicts and requesting accommodations, and will contain more information about the locations of each exam as we approach their dates.

Grades: Canvas' gradebook contains your recorded grades for each assignment, and DOES NOT account for the course late point reimbursement policy, nor for accommodations for special circumstances that you have discussed with your instructor.

CS400 Help: Link to our course Piazza discussion form, our office hours schedule with help request form, and contact information for each member of our course staff, as well as a few more resources for campus tutoring and other help.

Announcements: are seldom used in CS400, but you can always find them here.

3. Prerequisites and Software Requirements

The prerequisite for this course is COMP SCI 300: Programming II. Students entering this course are expected 1) to be comfortable developing object oriented Java programs, 2) to be familiar with the implementation details (and associated time complexities) of the following data structures: oversize array, linked list, binary search tree, and heap, and 3) to understand the tradeoffs involved in using these data structures to implement the following abstract data types: List, Stack, Queue, and PriorityQueue. You can find some review material for some of these prerequisite topics here (https://canvas.wisc.edu/courses/375349/pages/prerequisite-review-materials) . And more can be found in the optional text book referenced below.

Students in this course should have access to a modern computer. If you are looking to buy a new computer, the University has some recommendations (https://it.wisc.edu/learn/guides/computers-equipment-students-what-do-i-need/) . The DoIT Help Desk has a Laptop Checkout (https://kb.wisc.edu/helpdesk/44970) program. And the CS Department also maintains several computer labs (https://csl.cs.wisc.edu/docs/csl/2012-08-16-instructional-facilities/) for student use. The following software will be useful for this course:

OpenJDK 17 (https://adoptium.net/) will be used for all Java instruction and grading in this course, so we highly recommend ensuring that you can make use of this same version.

WiscVPN (https://kb.wisc.edu/90370) will be used to remotely connect to CS Department Instructional Machines using RDP. "Remote Desktop" comes packaged with Windows, and "Microsoft Remote Desktop" can be installed for free on a Mac through the App Store (https://apps.apple.com/us/app/microsoft-remote-desktop/id1295203466?mt=12) .

A Java IDE of your choice. Many former CS200 and CS300 students are likely to be most familiar with either Eclipse for Java Developers (https://www.eclipse.org/downloads/packages/) or IntelliJ IDEA (https://www.jetbrains.com/idea/download/) , but students have successfully completed this course using VSCode (https://code.visualstudio.com/) and others. We'll introduce some text editors that can be used to develop code, and are useful through short weekly activities. But most students prefer to develop course project code with the help of an IDE.

4. Additional Tools and Optional Text Book

Here are some of the tools that you can sign-up for to prepare using by the first day of lecture:

Sign up for TopHat (https://tophat.com/) (using the join code listed next to your lecture time above) before your first lecture: this service is now free for UW-Madison students, and will be used to collect participation responses during lecture. If you ever miss lecture, be sure to submit our late participation form within three days of the missed lecture.

Redeem Google Cloud Credits (https://docs.google.com/document/d/1oWx4yqjuTETP7Y-z91-2p5HZyiNskGzrwS7aXR3sdRU/) : so that you can create and use virtual machines running on Google's servers for our weekly course activities.

Optionally sign up for supplemental zyBook e-Text (https://www.zybooks.com/) that covers many (but not all) CS400 topics, along with several prerequisite topics. Free weekly readings will also be published with each week's new topics and lecture materials. A semester long subscription to this text will cost $96.60 and will last until Jan04, 2024.

1. Sign in or create an account at learn.zybooks.com

2. Enter zyBook code: WISCCOMPSCI400Fall2023

3. Subscribe

The following accounts will be activated as parts of future assignments:

DoIT's Gitlab (https://git.doit.wisc.edu/) instance is used to distribute starter files and collect assignment submissions for both weekly activities and project work.

PrairieLearn (https://us.prairielearn.com/) is used for administering and reviewing weekly quizzes and quiz results.

Gradescope (https://www.gradescope.com/) is used to grade and share exam feedback with you.

Google's G-Suite (https://workspace.google.com/) is used for remote office hour meetings (Google Calendar and Google Meet), for collaborating on projects with your team and group members (Google Doc and Google Chat), and for submitting a variety of form requests for things like: late participation, alternate exam requests, and feedback clarifications and regrade requests.

Flip (https://flip.com/) (formerly FlipGrid) is used to record and share video introductions and project demonstration videos with both your group and course staff.