0.1. CS3114/5040 Introduction¶
0.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.
0.1.2. Introduction¶
What we are doing this week:
Administration stuff and Course mechanics
Course introduction (OpenDSA Chapter 1)
Project 1 Introduction
0.1.3. Course Mechanics¶
Course online support:
Canvas: Learning Management System
OpenDSA: eTextbook
Web-CAT: Project submission/automated grader
Piazza: Forums
0.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
0.1.5. OpenDSA¶
Access OpenDSA eTextbook through a 2nd Canvas course shell (link from the course homepage)
Lots of visualizations, exercises
Mastery-based approach
Homework due periodically through the semester
Small homework (Chapter 1) due at 11pm this Friday
0.1.6. Web-CAT¶
Must use Eclipse IDE for submissions: Update if older than 2025
Install the updated Web-CAT plugin
Be sure you use this semester’s link to see the starter kits from the “Download Assignment” link
Read OpenDSA Module 2.4 for details on setting up with Eclipse
Web-CAT provides project submission support
Support for junit testing validation, mutation coverage
Auto-grading: Correctness (passes reference tests), style, test suite quality (mutation testing)
0.1.7. Projects and 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 typically due about a week or so into the project (your first milestone is due next week)
Second due typically about 10 days before due date
Third due typically 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.
0.1.8. Today’s Homework¶
Look at Canvas, check out the various links
Look at Piazza site, make sure you are enrolled there
Make sure that you have Web-CAT access
Look at Project 1 spec. Start setting up Eclipse.
Do Chapter 1 exercises in OpenDSA by this week’s due date
