1. CS3114/5040 Introduction
1.1. Role of CS3114/5040 in the Curriculum
This course represents a transition between “learning to program” courses (CS 1114, CS 2114) and “CS content” courses.
To do well, you must be able to handle both
Programming (we focus on projects with dynamic memory allocation and file processing, and they have significant design challenges)
Content, theory and analysis
The projects test programming and testing proficiencies
OpenDSA exercises test knowledge of how algorithms work
Exams test understanding of the theory (analysis)
Note
Most graduates from our department will tell you that this is one of the two hardest courses, and also one of the two most important for job preparation. So its both high effort and high value.
1.2. Introduction
What we are doing today:
Administration stuff and Course mechanics
Course introduction (OpenDSA Chapter 1)
1.3. Course Mechanics
Course online support:
Canvas: Learning Management System
OpenDSA: eTextbook
Web-CAT: Project submission/automated grader
Piazza: Forums
1.4. Canvas
Course materials are organized and delivered through Canvas
Course syllabus
Link to OpenDSA eTextbook (which is a separate Canvas course shell)
Access to Project specs and supporting documents
Link to Piazza forum
Post scores and grades
1.5. OpenDSA
Access OpenDSA through a link to Canvas->Modules
Lots of visualizations, exercises
Mastery-based approach
Homework due periodically through the semester
Small homework (Chapter 1) due at 11pm this Thursday (in 2 days)
1.6. Web-CAT
Must use Eclipse IDE for submissions: Update if older than 2025
Get the updated Web-CAT plugin
Project submission support
Support for junit testing, mutation coverage
Auto-grading: Correctness (passes reference tests), style, test suite quality (mutation testing)
1.7. Milestones
4 projects, each with a 3-4 week life cycle
Most projects will have 3 milestones
Milestones are intermediate deliverables with due dates
First due next week (usually about a week or so into the project)
Second due about 10 days before due date
Third due about 4-5 days before due date
Milestones designed to encourage incremental development
In previous semesters, milestones had the effect of boosting the final grade of the middle third of the class by about a full letter grade.
1.8. Today’s Homework
Look at Canvas, check out the various links
Look at Piazza site, make sure you are enrolled there
Look at Project 1 spec: We will discuss next time
Do Chapter 1 exercises in OpenDSA by 11:00pm Friday (in 3 days)