Syllabus
Short Description
Intensive group project involving design, development, and documentation of a web application; client-side and server-side scripting; communication skills emphasized; builds programming maturity.
Course Objectives
The aim of this course is for students to:
- Be competent in the development of dynamic web applications.
- Be competent in the development and formatting of static web content.
- Be competent with writing, organizational, and presentation 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.
- Be familiar with the use of SQL to access database content.
- 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.
- Be exposed to the use of application frameworks for the deployment of web applications.
- Be exposed to some basic security vulnerabilities sometimes found in web applications.
- Be exposed to methods for internationalizing web applications.
Prerequisites
2231; and 2321; and 2421 or 3430, or 2451 and ECE 2560.
Textbooks
- Ruby on Rails Tutorial: Learn Web Development with Rails, 7th Edition, (by Michael Hartl, 2022). Available on Safari via the OSU Library portal: book, video.
Team Work
The group projects in this class are designed to model software engineering in a real workplace. These projects are to be done in teams of four or five which are formed during the first week 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
Grades are calculated based on group projects and 2 individual quizzes. Each student's grade is calculated based on the following allocation:
Projects | 40 % |
Midterms | 30 % |
Final | 30 % |
A grade of A (or A-) requires approximately 90 or higher; 80-89 is a B (+/-); 70-79 is a C (+/-); 60-69 is a D (+/-); and anything less than 60 is an E.
Please note the following:
- You must pass the exam part of the course (midterm + final) in order to pass the course.
- I reserve the right to adjust individual grades if there is evidence that certain group members have not been working effectively with other members of the team. However, it is the entire group's responsibility to detect and report such situations early in the semester.
Late Policy
Work must be submitted by the due date mentioned on Carmen, which is USUALLY 11:59pm. Submissions will be accepted up to 24 hours late with a 10 % penalty, up to 48 hours late with a 25 % penalty, and up to 72 hours late with a 50 % penalty.
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. Making your work available to non-group members (current or in the future) is also 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.