CSE 2231: Software II, Software Development and Design

139
CSE 2231, Software Development and Design.

CSE 2231 is a computer science course at Ohio State University that involves data representation using hashing, search trees, and linked data structures; algorithms for sorting; using trees for language processing; component interface design; and best practices in Java.

It has 4 Credit Hours.

CSE 2231 prerequisites

Before moving on to CSE 2231, you’re required to complete CSE 2221 (Software I: Software Components) and

CSE 2321: Foundations I (Discrete Structures). It involves propositional and first-order logic; basic proof techniques; graphs, trees; analysis of algorithms; asymptotic analysis; recurrence relations.

CSE 2231 course goals

After completing this course, you’ll;

  • Be competent with using design-by-contract principles and related best practices, including separation of abstract state from concrete representation.
  • Be competent with using interface contracts, representation invariants, and abstraction functions that are described using simple predicate calculus assertions with mathematical integer, string, finite set, and tuple models.
  • Be competent with extending existing software components by layering new operations on top of existing operations.
  • Be competent with layering new software components’ data representations on top of existing software components.
  • Be familiar with simple linked data representations, including why and when it is (and is not) appropriate to use them rather than
  • layered data representations.
  • Be competent with using simple recursion.
  • Be competent with using simple techniques to test application software, layered implementations of extensions, and layered or
  • linked data representations, including developing and carrying out simple specification-based test plans.
  • Be competent with using simple techniques to debug application software, layered implementations of extensions, and typical data
  • representations.
  • Be familiar with using basic algorithm analysis techniques and notations to analyze and express execution times of operations
  • whose implementations involve straight-line code, simple loops, and simple recursion (e.g., in manipulating binary trees)
  • Be competent with writing Java programs using core language features including interfaces, classes, inheritance, and assertions
  • Be competent with writing Java programs that use software components similar to (but simplified from) those in the Java
  • collections framework.
  • Be familiar with using many industry-standard “best practices” for Java design and development.
  • Be familiar with working as part of a team on a software project with multiple milestones.
  • Be exposed to using a version control system, e.g., CVS or SVN.

Related: Helpful Guide to OSU BuckeyeMail Login.

OSU academic calendar: Important Dates and Deadlines.

CSE 2231 grade

  • Homework and Class Participation – 8%
  • Closed Labs – 12%
  • Programming Lab Assignments – 30%
  • Midterm Exam – 20%
  • Final Exam – 30%

CSE 2231 help

You can find help with this course on OSU Reddit communities, various GitHub pages, etc. There are numerous recourses, homework, and exam guides on Github.

Software II, Software Development and Design Bugsworld Guide.
Previous articleUCSD CSE Courses Requirements and Prerequisites 2021
Next articleCS 173: Discrete Structures Course at UIUC
I'm just another internet enthusiast who likes sharing useful online info with university/college students worldwide, and that brings joy to my heart. Contact me if you have any questions or suggestions for me.