Software engineering is a field of study encompassing issues that arise during construction of large applications involving computers and systems: How do we precisely determine all that an intended program is supposed to do? How do we communicate these requirements to developers? Once the application is built, how do we check that it does what we really wanted it to do? We will examine not only software modularization techniques, but also the process by which software is developed since design methods are pretty useless without a framework for showing how they are employed.

CMSC 435 instruction revolves around a substantial project, based on a class organization of teams. Additional case studies and exercises illustrate issues that arise in capturing requirements or specifying applications. Selected exercises are presented in class, with the expectation that teams continue discussion outside of class.

In projects, students will be given an initial statement of a problem (which might be an idea for some new product). Students will research solution approaches, propose a way forward, negotiate with customers to win agreement on how everyone will agree goals have been met, then follow through on the plans. There are graded materials due at each of several mileposts along the way. Each team will follow the same overall process, but possibly some aspects of a problem will vary due to specifics of the problem and client needs.

A team’s responsibilities may change throughout the semester. For example, a team may write requirements for one part of the system, design and specify other requirements, then finally implement yet other parts of a product. In this way, team members gain experience in having to manipulate software artifacts that they did not themselves create. Similarly, team assignments may be changed at any point as indicated by our teaching needs. The instructor is solely responsible for implementing any of these changes.

435 class projects are typically set up to be an opportunity to work on a 'live' problem, ideally with outside users. Each project will have its own intellectual property agreements associated with permission to work on that project. (These agreements may be under an umbrella agreement of SEAM, or Software Engineering at Maryland, a technology cooperative.) Students should be comfortable with those terms in advance of agreeing to work on a given project. These issues will be discussed in class, and are part of the scope of the class content.

Policies The banner message here is that campus policy will be followed carefully, and you should refer to the linked page for information about just what those policies are and the resources available to help us all follow them. The assignment submission policies specific to this class are described on a separate page.

Grading Expect a fair amount of writing in this class. (Plan on reading even more.) Grammar, organization and presentation of your deliverables count. Class attendance is strongly recommended, but only required of students who are intent on understanding material and passing the course. We will appreciate your on-time arrival at lectures and meetings. Attendance at CSD colloquium lectures is recommended, as is keeping up with readings on the covered materials. Final course grade is based on the following scores:

The specific weight of any one instrument might vary over the semester as the number of graded materials within that category changes. All scores are maintained in the CS grade server which we diligently keep up to date. Thus it is easy to track progress: collect the points, get the grade. These data represent important feedback, and misunderstandings can compound over time, so if you don't understand a score after comparing answers with our grades, then sooner is better than later to ask a question. In any event, requests for correction to grades on an assignment should be made within one week of the initial distribution that assignment's grades to students.

Team Grades As described on the assignment policy page, each graded group or team project should be submitted with a signed cover sheet listing the intellectual integrity and property statement as provided in our template. We will indicate at the time of each assignment what we expect for the cover sheet. Credit is only given for students listed on the sheet. Late delivery of a cover sheet constitutes late delivery of the project, as is a request to add a name to the cover sheet after it is turned in. For each project deliverable, team members who sign as contributing to their team assignment will all be given an identical grade for that deliverable unless otherwise negotiated in advance.

Quizzes are timed instruments which are typically not announced in advance. They keep us on our toes and will be counted within the “individual deliverable” grade. Each student is responsible for arriving at class on time, with student ID and writing implements suitable for taking a quiz.

Important fine print: In order to obtain at least a C- in this course, 14 points of your overall course total must come from the final exam. In other words, without doing well enough on the individually-graded final exam, it won't matter how well your teams did; you will be assigned a failing grade for the class.

There is no "curve" in grading but the instructor is solely responsible for determining how overall course scores map into letter grades (i.e. "set the cutoffs") in order for the numerical values to reflect the respective "excellent, good, acceptable" terms for mastery of the subject as used by the campus. The instructor reserves the right to increase the overall course score of students who demonstrate an exemplary grasp of technical issues (e.g., by contributions to class the discussion or authoring of significant artifacts on the class project.) No grades (except perhaps a failing final grade) will be issued for any student who is overdue for returning resources signed out for projects (such as ID badges from industrial partners, CDs of distributed software, or equipment.)

Final Exam Any in-class portion of our Final Exam will occur as officially scheduled by the university. There may be a take-home portion of the final exam, given out on or near the last day of class, with deadline for submissions clearly identified at that time. Typically take home exams are due during finals week. Any in-class exam is timed, and valid student IDs are required in order to take the exam. All examinations are strictly an individual effort.

Recommendations Students who seek a letter of recommendation from the instructor based on CMSC 435 performance should arrange for that in advance of giving specific information to a potential employer or school. We are not able to offer details without your permission. At the end of the semester students may wish to prepare a summary of class performance with supporting materials to leave on file for the instructor to reference when writing a future letter. Plan ahead and think about what we will have to say about you when the time comes.

Attendance We presume students motivated to become professionals in our field will practice being professional and so attend class, participate as an active learner and pay close attention to details in order to succeed. As in any profession, the occasional absence is unavoidable, and we are generally tolerant of them, since, again, it is your success which is at stake, not ours. Plan accordingly.

Students requesting that a planned absence be excused (in order to obtain accommodation on graded materials which might have been required in that period) should do so in writing and in advance, with documentary support for any assertion that the absence qualifies as an excused absence. The support should explicitly indicate the dates or times the student will be unavailable. Examples: Travel to represent UM at official university events can be excused; you'll know this in advance and have your coach, music director or similar authority document this. Travel to present a professional paper at a technical conference is great, and something to which you should aspire. Get me a copy of the paper and program agenda in advance and this is both excused and applauded. Except as an obligation for a credit-bearing course that your instructor documents, travel to attend a conference is great engagement for the field, but since you are attending (not representing) this is not an excused absence. Travel to a job interview is also great! Good for you, and be sure to tell them about 435 experiences. However this is not excused under campus policy. Schedule your time accordingly.

For occasional unplanned absence (for example due to illness), please send the instructor a notice before class in order to protect your interests. This is a practice of professionals which we will follow as part of the class content. (You don't just leave your employer in the lurch without phoning in, right? Let's practice this in class.) Sending contemporaneous notice will preserve your opportunity for graded material to be excused if appropriate under campus policies. Especially for contagions like colds or flu we'll appreciate that you stay home without sharing bugs. Rest up and get back in the game sooner. No medical documentation is needed, as we will accept your contemporaneous notice for excused absence.

In order to be excused, medical absences without contemporaneous notice should be promptly documented by your health care professional who will explain how your incapacitation precluded you from sending contemporaneous notice by simple email, text message or phone call. They will tell the specific time frame during which you were incapacitated.

(Let's be blunt here: If you're blowing off a class and a buddy texts you that it was a quiz day, then sending us notice of "illness" afterward is too late to be considered excused without your medical caregiver's confirmation of dates you are incapacitated. Our best advice is: be professional, get to class on time and earn the best value from 435. We will work just as hard to make it worth your while.)

For a subsequent absence to be excused we will require extensive documentation appropriate to the reasons, e.g. from your health care professional. Again, this is as typical in industry. Repeated requests for excused absences will be addressed on a case-by-case basis with college advisors who can make a determination about helping you withdraw. Remember, our course outcomes are heavily based on team interaction on the projects and participation in class, so we have no good way to help you fully "make up" for your absence. In such a case we would potentially recommend a withdrawal from the class.

If you anticipate absence due to a religious observance during the semester then, please note this within the first week in order to preserve your rights for it to be treated as an excused absence according to campus policy. Our campus no longer seems to publish a list of commonly-recognized dates that students might observe, so don't assume we know which might be of importance to you. Reaching agreement about dates in advance is important to our planning of project timelines and deadlines; teams have deliverables and other students rely upon our work, so trying to change plans later is very disruptive.

The instructor is not under obligation to offer a substitute assignment or to give a student a make-up assessment unless the failure to perform was due to an excused absence. In cases where lightly-weighted materials are excused, the instructor may choose to drop that from computation of the overall grade. Otherwise, and because the nature of our assignments may preclude direct makeups, the instructor will determine what instrument would constitute a reasonable substitute.

Classes missed due to joining the class late are not considered excused. All students attending class from the start (even if on a waitlist) are offered means to satisfy graded assignments in timely manner should a seat open to add the class, but in practical terms students course-shopping after semester starts are well advised to shop elsewhere since there is no "syllabus week" in 435.

Individual absences, even if excused, are typically not a basis for altering conditions for a team obligation. Teams should plan for success and organize accordingly.

ADS Any student eligible for and requesting reasonable academic accommodations for accessibility needs should provide to the instructor a letter of accommodation from the Office of Accessibility and Disability Service (ADS) within the first week of the semester. ADS allowances are only made for an individual deliverable, not a team obligation, so teams should plan for success and organize accordingly. ADS allowances involving extra time apply only for timed instruments; though some assignments may have a hard deadline for logistical reasons, no take-home obligation is considered "timed".

Resources Resources legitimately and normally available to you (e.g., notebook computers and home computers) may be used at your own risk. You will have potentially extensive word processing needs, so make sure you understand the likely submission formats and are equipped to manipulate them accordingly. Campus labs can potentially provide support for some of your computing needs. Overall, however, no alterations to conditions of the assignment will be made to accommodate peculiarities of your outside computing resources. Successes in our projects will require that we be able to manipulate one another's materials.

We typically provide students with access to an electronic repository for managing both individual and team materials, and also with virtual machines for computation and web hosting purposes. Please use these only for our class needs, and protect access credentials appropriately. Students have direct responsibility for the security and integrity of all resources made available to you, and we consider managing them professionally to be one of the educational components of this class. Unprofessional or irresponsible handling of resources entrusted to you is thus a basis to fail this class.

Deadlines Unexcused late deliverables will of course be evaluated but no credit will be given. Start projects early – last minute computer malfunctions will not be accepted as reason for delaying an assignment’s due date. Students carry the burden of ensuring that submitted materials are received on time, in suitable form for consideration and adequate to meet requirements. Team deliverables are typically not granted an extension if a team member has an absence (excused or otherwise.) There will ordinarily be no makeup exams or assignments. The only exceptions to these statements are those covered by standard university guidelines (e.g., concerning medical absences.) Overall, standard university policy will be followed meticulously.

Intellectual Property Students shall respect the intellectual property rights of others at all times, and shall not submit any resources, software, documents or other artifacts in violation of a copyright, or for which a copyright infringement would result by the instructors accessing, grading or using those materials in whole or in part. Students may submit projects containing artifacts or materials that are subject to separate licensing agreements (e.g., “shareware”) but only by explicit advance approval from the instructors. Our practice is to not publish team materials except and until approval is given by the instructor; we want to make materials available for others to see the value of your work, but we will do this by design, not default. Accordingly, please resist the urge to inappropriately share materials on Google drives, open github repositories, dropbox or similar.

Except by explicit approval of the instructor, we remain "Google free" in use of tools, programs or services. In general, we also prefer to err on the side of privacy-protecting practices, so without prior permission please do not expose the instructor or fellow students to services which place them in a stream of commerce.

No content from Wikipedia, Twitter, Facebook or other social media sources will be considered authoritative for purposes of citations in our documents; if in doubt about what would be accepted as a genuine news source, then simply ask. Note that respect for others' intellectual property interests includes not inappropriately disclosing or publishing materials that are subject to restrictions, and not inappropriately saving or using materials outside of the class context.

Academic Integrity Attempts to falsely represent the correctness of your work, or to delay other members of the class from completing an assignment, or to disrupt computing services for either students or faculty, or to have project deliverables derive from the efforts of others outside the class (except as explicitly arranged with the instructor – since, after all, reuse of program libraries is a way to, in effect, rely upon the efforts of others) are considered to be forms of academic dishonesty. Use of ChatGPT or similar AI-inspired resources without prior permission of the instructor is also prohibited.

Audio and video recording No blanket permission is given for students to record video or audio of class lectures; however, in the occasional case that our interactions produce a particularly useful figure or slide on screen, the instructor will specifically grant permission for (and usually encourage) a screen snap to augment student notes. For quality assurance purposes that do not conflict with FERPA obligations, the instructor reserves the right to record class lectures and other activities, and accordingly posts this syllabus as notice that all activities should be treated as if recording is in progress.

On-line components of this class bring additional considerations with respect to recording. This is a capstone class that is based on interaction and discussion, whether in the all-class setting, in teams meetings or via individual mentoring. Often the only way to conduct these activities is with on-line tools (typically Zoom though there are others) that put us on camera and microphone which are the subject of both state privacy laws and the federal government's FERPA regulations.

With those obligations in mind, we will take steps to ensure that access to on-line class activities (whether all-class sessions, team meetings or individual mentoring sessions) is limited; ordinarily only students registered for 435 will have access using credentials we provide. Guests to our classes or labs will be announced as such. As noted earlier, any recording by the instructor would generally be for quality assurance purposes and not for later distribution. We furthermore enable use of visual cues available in the video conferencing tools in order to remind participants that they are on camera and microphone. Your participation in class activities under these conditions implies consent for this recording.

Some projects will involve interaction with outside clients, and in an on-line world this will also obligate us to exercise care in practices that involve audio and video transmission. The technology that teams use for this is often not something under our control. As with classes, your participation in those meetings will imply consent for recording and disclosure; please choose the technology carefully and ensure that we respect students' FERPA-protected information and follow state and federal laws concerning recording. Remember, our clients enjoy these rights too.

Respect In all aspects of this course, whether in-person or on-line, we promote professional and respectful interaction with our fellow scholars. Any student with a question or concern about our practices is invited to contact the instructor as soon as possible in order to work out clarification, correction or accommodation.

Identity As with recording above, many of our documents and materials will inevitably carry student identity with them. That is the nature of team projects, and especially so when solving real problems. Outside clients or another team (whether in the current or a subsequent semester) may pick up those materials to use or modify the project. While we make every effort to elide grades from public disclosure, we need to accept your participation on a project as permission for your identity to be disclosed and have your products used by others. Anyone with concerns about such disclosures should contact the instructor as soon as possible so tasking can be established accordingly.

"Slides" The instructor does not post Powerpoint documents or other materials that might have been used in class activities since they are not the fundamental carrier of this course's content. We might use slides to quickly announce an agenda in any given day, for example, or as a graphic aid to engagement exercises we conduct, but their purpose is to facilitate interaction, which is the chief mechanism of instruction. No such materials are a replacement for details we invite students to discover during class. If you want to learn from this course, then our best advice is to attend class and actively participate. Any student with a question about what was presented (especially those who may have an excused absence) is very welcome to meet with the instructor to discuss material. Students should also engage with their team members immediately following an absence, since they will have the best insight on how topics of the day may impact the team's project.

Sense of humor required The shift to on-line instruction took quite a lot of sorting out to make a course work. Some teaching practices carried over well from in-person instruction, and some didn't. Surprisingly the shift back to in-person instruction wasn't as smooth as it might have been on campus. Expectations for study habits and other practices still needed adjustment since everyone came back from a different pathway. Whether campus sticks to the in-person format or switches back to on-line, let's keep the "humor required" directive. Everyone had to overcome glitches that nobody ever had to deal with before. (Internet connectivity topped that list; there was simply more to break.) Things may have gotten weird, but we got through it well when everyone exhibited a bit of tolerance and willingness to pivot quickly. Let's carry this temperament forward.

Copyright © 2015-2024 James M. Purtilo