Cs 460 Spring 21
Cs 460 Spring 21
Instructor:
Soraya Abad Mota (email: [email protected])
Office: Farris Engineering Center 2040. Phone: 277-3052
Office hours: Tuesday 3:45-5:00 pm, Wednesday 10:00am-12:00 pm
for all my classes, but
Special office hours will be determined with each team in this class.
Teaching Assistant:
Aislinn Handley (email: [email protected])
Class meets remotely: Tuesday and Thursday 2:00 - 3:15 pm, zoom link provided on learn
1 Course Description
Most of our computer programming classes go directly to solve a problem with a program, without
having to determine the requirements, students are given the requirements. In this course we
complete the phases of the software engineering process by highlighting other phases of the process:
The UNM catalog entry for this course states: “Software engineering principles will be dis-
cussed and applied to a large team developed project. Other topics relevant to the production of
software will also be covered, including ethics, legalities, risks, copyrights and management issues.
Prerequisite: 351L.”
To implement the goal stated above and to comply with the ABET certification requirements,
Dr. Catalin Roman has designed this class with “state-of-the-art, industrially tested, specification
and design techniques” which are “presented, illustrated on small examples, and applied to realistic
problems.” From his description, t“he objective of the course is to develop an understanding
of the technical and organizational complexities involved in software development and to teach
key concepts and techniques used to manage these complexities. The students are required to
design and build systems through team effort. Emphasis is placed on emulating the realities of
1
an industrial organization. The classes are conducted in an intensive workshop atmosphere. The
projects cover the principal system development life-cycle phases from requirements analysis, to
software design, and to final implementation. Issues relating to human factors, dependability,
performance, operating costs, maintainability and many others are addressed and resolved in a
reasonable manner.”
Details of the core design of this class are given in the next two subsections, 1.1 and 1.2; students
can use these to know what is expected from them to bring to this class and what are their expected
learning outcomes.
This section provides examples of skills required or desirable for this class. These are skills that
students should have acquired by now. They are grouped into basic requirements and elementary
software engineering skills.
Basic
Basic functional design: data structures: high-level description using words and pictures,
initial state, commonly used operations;
procedure: high-level algorithm specification, pseudocode (10/1 ratio of code to text);
procedural abstraction: axiomatic specification (pair of assertions), operational specifi-
cation (pseudocode), functional decomposition and recursion.
Object-oriented concepts: simple objects, proper encapsulation of data structures and
devices, clean abstraction (application-oriented), specification: abstract state, operations
over the abstract state, design documentation: data structures and procedures.
2
1.2 Learning Outcomes
At the end of the term, the student should have acquired the following software engineering skills.
Object-oriented design: composite objects, design diagrams, design strategies, design patterns,
accommodating languages (e.g., C++ vs. Java), coping with design constraints (e.g., off-the-
shelf packages), factoring performance, generalization (classes and templates).
System level design: design rules, processing and data allocation, design and specification of
system interfaces, distributed algorithms design and verification, performance evaluation and
estimation, feasibility analysis.
System level requirements: elicitation strategies, models, documentation methods, validation,
formal specification, human interface design.
Technical management of large software projects: life-cycle, software development strate-
gies (macro-level), technical reviews, written and oral communication, planning and com-
mitments, group and corporate dynamics, system integration.
All work this semester will be done in teams. The characteristics of the teams are:
• 6 students on each;
• one manager per team, with coordination responsibilities.
Each student must fill out a student profile form and make it public in the Learn page. We will
provide the prompt for this profile and will be entered as a discussion board entry. Students get
organized in teams, using the information contained in the student profile, this shall be done on
the first lecture.
Team work puts emphasis on cooperative work. Industrial success is based on team performance
and communication. One of the goals of process reviews is to avoid reliance on individuals. A team
must blend and exploit the strengths of the individuals.
The instruction schedule is as follows:
3
• Each team will meet frequently (at least once per week) to plan the work or discuss specific
aspects of the work. Each student of each team must invest between 6 and 9 hours per week
of effective work to the current project. A portion of the grade depends on how much effort
is invested in the project. To facilitate the evaluation of this aspect, by the instructor, the
TA, and by the team coordinator, each student must record their time in a timesheet. The
timesheets will be submitted to the coordinator who will register each team member’s total
of hours per week and total hours per project.
During the semester, there will be two projects. These will serve as the Case Studies in which
students will practice the skills being developed. Tentatively, the two projects are:
Each student is required to invest between 6 to 9 hours per week in the projects
of this class. This time is outside the lecture or workshop attendance. This is the equivalent to
2-3 hours per credit hour per week. We suggest that each student reports to the manager of the
team in a timesheet, the activities performed for the projects and the time invested each week.
3 Grading
Most of the work in this class is done in teams, there are no tests or exams. Student input will be
sought regarding the grades of the teammates. Presence in the zoom lectures and workshops are
compulsory, with a camera turned on. In-class participation is part of the grade. Appropriate time
invested in the course is part of the grade.
Everyone starts with a B in the class. Students’ final grade may go up or down according to
the following grading guidelines:
4
4 UNM learn platform
For all announcements and submissions of assignments we will use UNM learn available with your
Net ID at learn.unm.edu. When you register for this class your UNM id is automatically included
in the course platform list and this will allow you access to all the course materials. There will be
no other formal website for this class. Students should be up to date with the announcements and
material published in this platform.
This section contains the most important policies students are expected to comply with.
1. Communication with instructor and TA will always be respectful. The instructor requires
that you use the email address [email protected] and add CS460 to the subject line.
2. Assignments will be handed out and collected using UNM Learn; assignments should only be
submitted through learn, not email or other means. If you are unable to submit assignments
on Learn due to technical difficulties, please email me the submission on time and we will
coordinate later submission through Learn once the technical difficulties are resolved.
3. This course falls under all UNM policies for last day to drop courses, as described at
http://www.unm.edu/studentinfo.html and in the UNM Course Catalog. Please see the UNM
academic calendar for course dates, the last day to drop courses without penalty, and for
financial disenrollment dates.
4. Any requests to drop the class or change grade mode (e.g. audit, CR/NC) with instructor
permission must be made on or before the last regular class/lab meeting. Such request
made after this date will not be approved except in the case of documented, extraordinary
circumstances.
The university policy on academic honesty is contained in the Pathfinder; you should review this
policy if you are unfamiliar with it. Any academic dishonesty will result in an automatic F for the
entire semester and will be referred to the UNM Dean of Students for further disciplinary action
as they deem appropriate. There will be no second chances or extra warnings.
5
5.3 Copyright issues
All materials in this course fall under copyright laws and should not be downloaded, distributed,
or used by students for any purpose outside this course.
5.4 Title IX
Our classroom and our university should always be spaces of mutual respect, kindness, and support,
without fear of discrimination, harassment, or violence. Should you ever need assistance or have
concerns about incidents that violate this principle, please access the resources available to you
on campus, especially the LoboRESPECT Advocacy Center and the support services listed on its
website (http://loborespect.unm.edu/). Please note that, because UNM faculty, TAs, and GAs
are considered ”responsible employees” by the Department of Education, any disclosure of gender
discrimination (including sexual harassment, sexual misconduct, and sexual violence) made to a
faculty member, TA, or GA must be reported by that faculty member, TA, or GA to the university’s
Title IX coordinator. For more information on the campus policy regarding sexual misconduct,
please see: https://policy.unm.edu/university-policies/2000/2740.html.
5.5 ADA
In accordance with University Policy 2310 and the Americans with Disabilities Act (ADA), aca-
demic accommodations may be made for any student who notifies the instructor of the need for an
accommodation. It is imperative that you take the initiative to bring such needs to the instructor‘s
attention, as I am not legally permitted to inquire. Students who may require assistance in emer-
gency evacuations should contact the instructor as to the most appropriate procedures to follow.
Contact Accessibility Resource Center at 277-3506 for additional information.
All students are welcome in this class regardless of citizenship, residency, or immigration status.
Your professor will respect your privacy if you choose to disclose your status. As for all students
in the class, family emergency-related absences are normally excused with reasonable notice to the
professor. UNM as an institution has made a core commitment to the success of all our students,
including members of our undocumented community. The Administration‘s welcome is found on
our website: http://undocumented.unm.edu/.
6
Tentative Calendar CS460 - Spring 2021
6 23 Implementation 25 Implementation
Peer evaluations P1 due
9 23 Workshop #6 25 Workshop #7