COMP 240: Computer Applications, Spring 2025

This syllabus is subject to change based on specific class needs, especially the schedule. Significant deviations will be discussed in class. Individual exceptions to the policies and schedule are granted only in cases of true emergency. Please make arrangements with me if an emergency arises.

Logistics

Content

Description

In this course, students will work in small groups to develop three different computer applications. Each application will expose them to a different computing platform along with the tools and computing concepts used in developing programs for that platform. The platform and purpose of each applications will vary from year to year and instructor to instructor, but common choices of platforms include: the command line interface, the web, mobile devices, and high-performance computing. Students will maintain and develop their projects using GitHub and Git version control software. Emphasis will be placed on building effective software development teams as well as building the software itself. Upon completing the course students will know how to apply basic software engineering practices in a small group setting, how to maintain software through the git version control system, and will have experience with tools and best-practices for developing modern software applications for three different computing platforms.

Sources

Books and reference materials will be based on projects assigned but are likely to be a combination of online resources and instructor provided handouts. As part of their projects students will learn to seek out and work with reference material for programming tools and languages in addition to textbooks.

Software

Every project will use git and GitHub for collaboration and version control. You will need to download git itself. This can be used via the command line or simply within any of the integrated development environments we will be using. You may also choose to install a third-party graphical client such as GitHub Desktop.

We will use GitHub for repository hosting and project management. You will need to create a GitHub account if you don’t already have one.

Beyond those, each project will use different software. We will discuss installation and use of all software (including git and GitHub) during class time.

Policies

Assessment

Assignments and Workload

The weekly workload for this course will vary by student and by week but should be about 10 hours per week on average. The following table provides a rough estimate of the distribution of time over different course components for a 16 week semester, as well as detailing the type, amount, and relative value of all assignments.

Category Amount Final Grade Weight Time/Week (Hours)
Class Meetings 42 10% (In-class participation) 2.5
Project 0 1 10% -
Projects 1-3 3 25% each, 75% total 7
 - GitHub Activity -   5% each, 15% total -
 - Presentations 12-13   5% each, 15% total -
 - Resulting Code     15% each, 45% total -
Project/Peer Evaluations 3 5% 0.5
Total   100% 10

You can expect to spend most class meetings checking in with your current development team and the course instructor. Accompanying each project there will typically be four presentations: three (sometimes four) checkpoint presentations and one final presentation. These presentations will take place during scheduled class times.

In-Class Participation

Your in-class participation score will be judged based on (1) your frequency of unexcused absences, and (2) your active engagement and collaboration with your team: asking or answering questions, contributing ideas, doing research, etc.

Evaluations

After each final presentation, you will submit three kinds of evaluations:

Projects

Detailed information about the projects can be found here, with additional instructions provided on a per-project basis.

Grading

Your individual project and presentation grades will be determined based on the overall group effort as well as your individual contributions to the application. Individual contributions will be assessed throughthe project tracking features on GitHub, through feedback provided by peer-reviews done about your work, and through your own self-evaluations. It will not necessarily be the case that each member of a group receive the same grade on a project or presentation. More information about project grading can be found here.

Your final grade is based on a weighted average of particular assignment categories. You can estimate your current grade based on your scores and these weights. You may always visit the instructor outside of class to discuss your current standing. Assignments and final grades use a standard grading scale shown below and will not be curved except in rare cases when deemed necessary by the instructor.

This courses uses a standard grading scale. Assignments and final grades will not be curved except in rare cases when its deemed necessary by the instructor. Percentage grades translate to letter grades as follows:

Score Grade
94–100 A
90–93 A-
88–89 B+
82–87 B
80–81 B-
78–79 C+
72–77 C
70–71 C-
68–69 D+
62–67 D
60–61 D-
0–59 F

You are always welcome to challenge a grade that you feel is unfair or calculated incorrectly. Mistakes made in your favor will never be corrected to lower your grade. Mistakes made not in your favor will be corrected. Basically, after the initial grading your score can only go up as the result of a challenge*.

You are always welcome to challenge a grade that you feel is unfair or calculated incorrectly. Mistakes made in your favor will never be corrected to lower your grade. Mistakes made not in your favor will be corrected. Basically, after the initial grading your score can only go up as the result of a challenge.

Schedule

The following tentative calendar should give you a feel for how work is distributed throughout the semester. Assignments and events are listed in the week they are due or when they occur. This calendar is subject to change based on the circumstances of the course.

Date Topic Assignment and Readings
Tue 01/21 (Week 1) Logistics, Git, GitHub, Proj 0 Intro Project 0, Read: Git Book (ch. 1 & 2), Git in VS Code, About GitHub, Watch: the videos here, Optional: play Oh My Git!
Thu 01/23 Git Flow, Agile/Scrum Read: Git Book (ch. 3), Pull Requests, GitHub Flow, What is Scrum?
Tue 01/28 (Week 2) Scrum, Presentations, Expectations Read: GitHub Issues Documentation (Overview and Quickstart), Project Overview, Merge Conflicts
Thu 01/30 Practice Checkpoint, Project 1 Intro Project 1: TBD
Tue 02/04 (Week 3) Project 1 Checkpoint 1  
Thu 02/06    
Tue 02/11 (Week 4) Project 1 Checkpoint 2  
Thu 02/13    
Tue 02/18 (Week 5) Project 1 Checkpoint 3  
Thu 02/20    
Tue 02/25 (Week 6) Project 1 Presentation  
Thu 02/27 Project 2 Intro Project 2: TBD
Tue 03/04 (Week 7) Project 2 Checkpoint 1  
Thu 03/06    
(Mon 03/10 – Fri 03/14) (Sprint Break)  
Tue 03/18 (Week 8) Project 2 Checkpoint 2  
Thu 03/20    
Tue 03/25 (Week 9) Project 2 Checkpoint 3  
Thu 03/27    
Tue 04/01 (Week 10) Project 2 Presentation  
Thu 04/03 Project 3 Intro Project 3: TBD
Tue 04/08 (Week 11) Project 3 Checkpoint 1  
Thu 04/10    
Tue 04/15 (Week 12) Project 3 Checkpoint 2  
Thu 04/17    
Tue 04/22 (Week 13) Project 3 Checkpoint 3  
Thu 04/24    
(Tue 04/29) (Week 14) (Scholar’s Day)  
Thu 05/01 Project 3 Checkpoint 4  
Tue 05/06 (Week 15) Project 3 Presentation  
Fri 05/09 Final Exam Slot (6:30 PM-9:30 PM)  

Monmouth College Services