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.
Table of Contents
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
- 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
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.