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.
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.
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.
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.
Late assignments: In general, late assignments will not be accepted. Exceptions may be made only for situations beyond your control. If you feel your reason is justified, schedule a meeting with the instructor to plead your case.
Academic dishonesty: Monmouth College’s official policy on academic dishonesty can be found here. You are responsible for reading and complying with that policy.
In this course, any violation of the academic honesty policy will have varying consequences depending on the severity of the infraction as judged by the instructor. Minimally, a violation will result in an “F” or 0 points on the assignment in question. Additionally, the student’s course grade may be lowered by one letter grade. In severe cases, the student will be assigned a course grade of “F” and dismissed from the class. All cases of academic dishonesty must be reported to the Associate Dean who may decide to recommend further action to the Admissions and Academic Status Committee, including suspension or dismissal. It is assumed that students will educate themselves regarding what is considered to be academic dishonesty, so excuses or claims of ignorance will not mitigate the consequences of any violations
General expectations: In short, I expect you to be respectful of others and take responsibility for your own learning. You are here to learn, so work hard and be professional.
Just attending class is not sufficient to truly learn the material. Read the text, use the resources available at Monmouth College, and go beyond the material.
If you miss class, you are responsible for everything covered on that day. College is, in some sense, your job. Take pride in creating quality work. Staple your assignments, label problems, and present your answers neatly and orderly.
Your job is to convince me that you have learned the material – show your work! Even if you do not know a particular answer, guide me through your thought process.
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.
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.
After each final presentation, you will submit three kinds of evaluations:
Detailed information about the projects can be found here, with additional instructions provided on a per-project basis.
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.
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) |
The Academic Support and Accessibility Services Office offers FREE resources to assist Monmouth College students with their academic success. Programs include supplemental instruction for difficult classes, drop-in and appointment tutoring, and individual academic coaching. The office is here to help students excel academically, since everyone can work toward better grades, practice stronger study skills, and mange their time better. Please email academicsupport@monmouthcollege.edu for assistance.
If you need course adaptions or accommodations because of a disability please make an appointment with me and/or with the Accessibility Services Office (ASO) (access@monmouthcollege.edu 309-457-2257) as soon as possible. The accessibility of this course for every learner is important to me. If at any time you experience a barrier to learning, please bring it to my attention and I will do my best to address it.
Office of Student Well-Being & Student Health Center: Your well-being is crucial to your academic success and personal growth. That is why our campus provides free resources to support your physical and mental health needs. If you would like schedule an appointment for counseling or need further health care assistance, please reach out to the Office of Student Well-Being at wellness@monmouthcollege.edu.
Student Health Center: Hours: M-F, 9am-1pm Location: McMichael Residence Hall, Lower level Call: 309-536-6055 Email: healthcenter@monmouthcollege.edu
Counseling Services: Hours: M-F 9am-4:30pm Location: CSB 393, Administrative Area Call: 309-457-2316 Email: wellness@monmouthcollege.edu
TimelyCare: 24/7 free virtual access to medical and mental health care anytime. Visit: timelycare.com/monmouthcollege