Close
Register
Close Window

DSA Coursenotes

Chapter 0 Week 1

Show Source |    | About   «  Chapter 0 Week 1   ::   Contents   ::   0.2. Data Structures and Algorithm Analysis Introduction  »

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 both
Programming (we focus on projects with dynamic memory allocation and file processing, and they have significant design challenges)
Project management and testing
Content, theory and analysis
The projects test programming 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.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

   «  Chapter 0 Week 1   ::   Contents   ::   0.2. Data Structures and Algorithm Analysis Introduction  »

nsf
Close Window