Welcome to CSE3902 AU21
Class meetings:
TR 5:30 - 6:50 VIRTUAL CLASSES
AU21
Lecturer: Scott Mills ( mills.680@osu.edu; scott.mills@c-sharp.com )
Office: TBD
Office hours: By appointment
Course Summary
This is a course on professional software development. Our goals are to craft high-quality software, understand the process of Agile software development, survey design patterns, become familiar with advanced tools for software development and project management, and experience working in a small sized team (4-5 people). To facilitate reaching these goals, you will work on developing and refining an engine for 2D platformer games over the course of the semester. There will be a large amount of critiquing of code and interactive feedback. This will lead to refinement and improvement of your software (for future expansion and maintenance).
Course Objectives
The aim of this course is for students to:
- Be competent with 2D graphics objects and rendering.
- Be competent with event based programming.
- Be familiar with elements of game engines such as AI, animation, memory management, and user control.
- Be familiar with game content creation and editing tools.
- Be competent with writing, organizational, and communication skills.
- Be competent with analyzing the intended audience for a written document and writing an audience profile.
- Be familiar with making engineering decisions involving tradeoffs (e.g., space-time tradeoffs in choosing a table implementation).
- Be familiar with defining the purpose (persuade, inform, etc.) of a written document and select the appropriate rhetorical devices.
- Be familiar with writing several pieces of documentation that have different purposes and to use appropriate organization to tie them together.
- Be familiar with group project organization techniques including conducting group meetings, recording minutes, and tracking project progress.
- Be familiar with using one structured approach to large software design to carry out a large group project.
Workload Expectations
Workload expectations are an estimate of the amount of work needed for an average student to earn an average grade. Course grades are based on the quality of the work submitted, not on hours of effort.
One credit represents, for the average Ohio State University undergraduate student, three hours of academic work per week (including lectures, laboratories, recitations, discussion groups, field work, study, and so on), averaged over the semester, in order to complete the work of the course to achieve an average grade. 1 credit x 3 hours of work per week equals 3 hours of academic work to achieve an average grade. Thus, enrollment in a 4 credit course represents approximately 12 hours of work per week, on average, over the course of the semester to earn an average grade.
Prerequisites
CSE 2231 or 321, and 2321 or Math 366, and 2421, 360, or ECE 2560 (265), and CSE 2451, 459.21, or 459.22, and second level writing course.
Textbooks
- See Reading Resources on the course homepage
Teamwork
The group project in this class is designed to model software engineering in a real workplace. These projects are to be done in teams of four or five which you are to form during the first few weeks of class.
Each team member must do equal work across the entire set of projects. If a team member is not doing equal work it is the responsibility of the other members to let me know that a problem exists. Most often we can head off problems before it is too late.
If there is evidence that a team member is not providing the same level of effort or does not have the same level of involvement or understanding of the system as the rest of the team, different grades may be assigned. On the other hand, if one person opts to do most of the work, there is no guarantee that he or she will receive a better grade. Indeed, if he or she hindered the experience of others in the group, a lower grade may be assigned to that person.
Basic Grading Scheme
Late Policy
For project grading, you will be graded based on the contents of your team’s source code repository at the time posted due date for each Sprint. Effectively this means no late work will be accepted.
Disability Statement
Any student who feels he/she may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. The Office for Disability Services at 614-292-3307 in 150 Pomerene Hall will help in coordinating reasonable accommodations for students with documented disabilities.
Academic Misconduct
Making any use of any work (code, design, documentation), or any part of work done by others (current or in the past) is a violation of course rules. If you have any concerns about whether something you are considering doing is appropriate, ask first! All academic misconduct will be dealt with according to university procedures.