0.1. Course Introduction¶
0.1.1. Introduction¶
0.1.1.1. Introduction¶
What we are doing today:
Administration/Course mechanics
Course introduction (OpenDSA Chapter 1)
0.1.1.2. Administration/Course Mechanics¶
Do you have a ForceAdd issue?
- Review of Canvas site:
Piazza, OpenDSA (our textbook), Eclipse, Web-CAT
Go over Syllabus
0.1.1.3. Course Role in the Curriculum¶
This course represents a transition between “learning to program” courses (CS 1114, CS 2114) and “content” courses.To do well, you must be able to handle bothProgramming (we focus on projects with dynamic memory allocation and file processing, and they have significant design challenges)Project management and testingContent, theory and analysisThe projects test programming proficienciesOpenDSA exercises test knowledge of how algorithms workExams 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.1.4. OpenDSA¶
Access OpenDSA through Canvas->Modules
Lots of visualizations, exercises
Mastery-based approach
Homework due periodically through the semester
0.1.1.5. Web-CAT¶
Install the latest Eclipse
Get the updated Web-CAT plugin
Project submission from within Eclipse
Support for junit testing
Test suites evaluated by Mutation Testing
Auto-grading: Correctness, style (human grader for design)
0.1.1.6. Projects¶
- The hardest part of this course!
4 projects, 3-4 week lifecycle, 45% of course grade
Big enough that you need to practice good project management skills (Miletones help you to structure this)
- Gaining testing proficiency is a key course objective
Junit testing to define test suite
Mutation Testing to evaluate test suite
0.1.1.7. Milestones¶
4 projects, each with a 3-4 week life cycle
- Most projects will have 3 milestones
Intermediate deliverables with due dates
First due at end of first week
Second due about 2 weeks before due date
Third due about 1 week 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.1.8. Homework for Today¶
Look at Canvas
Look at Piazza site, make sure you are enrolled there
Look at Project 1 spec: Will discuss next time
Do Chapter 1 exercises in OpenDSA
0.1.1.9. Before you leave today¶
Talk to me if there is a Force Add issue