Difference between revisions of "CS 2340"
Line 37: | Line 37: | ||
The sole prerequisite is a C or higher in CS 1331. |
The sole prerequisite is a C or higher in CS 1331. |
||
− | == |
+ | == Resources == |
=== Spring 2021: Dungeon Crawler === |
=== Spring 2021: Dungeon Crawler === |
Revision as of 17:02, 11 September 2021
CS 2340, formally known as Objects and Design, is a 3-credit Computer Science project-based class taken as a core requirement for College of Computing majors. It provides a high-level overview of software engineering principles, such as the development process, testing, design patterns, and object-oriented design. It is currently taught in Java. It is immediately preceded by CS 1331, and is followed by the CS Junior Design sequence.
Workload
As CS 2340 is a project-based class, there are only two components to the class: the course project and exams.
Exams test knowledge of concepts in class through multiple choice questions and design diagrams. Every exam will have a diagramming component of some form, including the final.
The course project is a chance to apply course topics into a real coding project. The theme of the project will vary by semester, and occasionally, the language will as well. Projects are done in groups of 2-5 and are structured in a sprint-style.
Topics List
Topics covered in the course include:
- The Unified Process
- Testing and Test-Driven Development
- UML
- Class Diagramming
- Design Principles
- Design Patterns
- Code Review
Prerequisite Knowledge
Programming
Note: This applies to the Java versions of 2340, which has been the case since 2019.
As CS 2340 has CS 1331 as a prerequisite, CS 2340 expects high knowledge of Java programming and a basic understanding Object-Oriented Principles, such as encapsulation, inheritance, overloading, overriding, and polymorphism. Some versions of the class also expect basic familiarity with JavaFX and JARs. While the class will not expect knowledge of the fine details of Java like CS 1331 did, experience similar to what's expected in CS 1332 is needed as all programming is done in Java.
Future Outlook
CS 2340 is not a prerequisite for many CS classes. It only serves as a prerequisite for CS 4240 (Compilers), which is only required for the Systems and Architecture thread.
CS 2340 is however, a prerequisite for the standard Junior Design option, as that is an even more enhanced software design experience.
Current Registration Info
CS 2340 is not a linked course, nor does it have a Recitation. This means you solely have to register for the lecture (e.g. Section A, B, C, etc.).
Note that your project team may have to meet at TA office hours to get milestone checkoffs, but there are usually many time slots available.
Prerequisites
The sole prerequisite is a C or higher in CS 1331.
Resources
Spring 2021: Dungeon Crawler
The project that was assigned for the Spring 2021 semester was a Dungeon Crawler game using the JavaFX framework in Java. An example can be found below.
Fall 2020: Farming Simulator
The project for Fall 2020 was a Farm Simulator, again using JavaFX and Java.