pastel at mtu.edu
Tuesday and Thursday at 2:00-3:20 pm on line.
CS 3141 – Team Software
CS4760 Course Goals
The goals of the course are proficiency in UI design and implementation, ability program web and enterprise application software, and general knowledge of Human-Computer Interaction (HCI).
Upon successful completion of this course, students will be able to do the following:
- design an application to meet the clients needs within realistic constraints.
- design an application that us is makes best practices of usability.
- function on a multidisciplinary team
- communicate to a broad audience
I used these text books to prepare the class notes:
- Human-Computer Interaction, Dix et. al., Prentice Hall, ISBN 0-12-239864-8 The Humane Interface, Raskin, Addison Wesley, ISBN 0-201-37937-6
- Usability Engineering, Rosson and Carrol, Morgan Kaufmann, ISBN 1-55860-712-9 Designing the User Interface, Shneiderman, Addison Wesley Longman, ISBN 0-201-69497-2
- Interaction Design, Preece, Robers, and Sharp, Wiley, ISBN 0-471-49278-7
- The Psychology of Human-Computer Interaction, Card, Moran and Newell, Lawrence Erlbaum Ass. Publishers, 1983
- User-Centered Website Development, McCracken and Wolfe, Printice Hall, ISBN 0-13-0411611-2 Usability Testing and Research, Barnum, Longman Publishers, ISBN 0-205-31519-4
- Volume 1: Xlib programming manual by Adrian Nye, 3rd edition, June 1992. O’Reilly & Associates, Inc.
- The Visual Display of Quantitative Information, Edward R. Tufte, Graphics Press, ISBN 0-9613921-0-X
- Visual Explanatins, Edward R. Tufte, Graphics Press, ISBN 0-9613921-2-6
- Universal Principles of Design, William Lidwell, Kritina Holden and Jill Bulter, Rockport Publishers Inc., ISBN 1-59253-007-6
- The Resonant Interface, Steven Heim, Addison Wesley, ISBN 0-321-37596-3
- Sketching User Experiences, Bill Buxton, Focal Press, ISBN 0-12-374037-1
- Software For Use, Larry Constantien and Lucy Lockwood, Addison Wesley, ISBN 0-201-92478-1
- Team Writing: a guide to working in groups, Joanna Wolfe, Bedford, ISBN-10: 0-312-56582-8
- Research Methods in Human-Computer Interaction, Jonathan Lazar, Jinjuan Heidi Feng and Harry Hochheiser, Wiley, ISBN 978-0-470-72337-1
Approximate Schedule of Major Work
|Week||Project Assignments||Individual Programming Assignments|
|2||Scientist Interview||Programming Assignment 1|
|3||App Description Document||Programming Assignment 2|
|4||Team Website||Programming Assignment 3|
|5||Cognitive Walk Through||Programming Assignment 4|
|13||Assist Usability Testing|
A major component of the course is a semester long design and implementation project. The project consist of two parts, design and implementation. The design component of the project requires making a team website, writing and posting documents, class presentation, and helping with the evaluations of yours and others project.
You will implement a significant portion of your design using software tools specified in the course. I am more concerned with the usability and usefulness of the app. You should be prepared to explain your code.
Individual Programming Assignments
Individual programming assignments are to be completed individually. The assignments lead you through setting up a development environment and introducing the software tools used to implement the project.
There are several surveys at course end. The surveys are used to evaluate the course and your teammates. The surveys are required.
You must be present for the project presentations; absolutely no excuses. You must also come to assigned scheduled class hours so that you can collaborate with graduate students and discuss topics. Class attendance will be recorded using Zoom’s usage report, so you should use your MTU account to attend the Zoom meeting. You are allowed 2 unexcused attendances at scheduled class hours. More than 2 unexcused attendance will result in grade reduction.
Due Date and Time
Another category for assignments are “paper” and “presentation” (or “presentation like”) assignments. Canvas does not offer a convenient method for scheduling presentation due dates and times, so I have adopted a convention for scheduling “paper” and “presentation” assignments in Canvas.
I schedule “presentation” due dates either on the Monday at 11:59 pm for the week of presentation, or for short presentations the day before the class at 11:59 pm. Naturally, the actual due date and time for your presentations are the scheduled times for your presentations or in the case of short presentations when I call you. The due dates and times is NOT the day before at 11:59 pm.
“Paper” assignments including programming assignments are scheduled either Tuesday or Thursday at 3:30 pm, the end of class. I am little lenient with paper assignment due dates. You need not worry about the assignment marked down for being late if I have not graded the assignment. Generally, I will not grade assignments at 3:30 pm on the due date. The assignments generally are graded the following evening. So, please do not email me for an extension to the assignment.
In summary, my convention is if the assignment has a due time for “3:30 pm” in Canvas then the assignment is due at the end of the day. If the assignment has due time for “11:59 pm” in Canvas then the actual due time is the scheduled time for your presentation.
All assignments are required. If you cannot complete any assignment you still must submit it, but I will not give you feedback on the assignment. Sometimes I miss an assignment submission, so if I have not given you timely feedback on your assignment, please email me a reminder with the subject line “cs4760 – Missing feedback” and the body of the email explain what assignment is missing and when you submitted it.
In Canvas, all the assignments have points for grades. I do NOT sum all the points for all your assignments to determine your final grade. Rather I review the progress that you and your team has made and use the points for individual assignments as notes to myself on your performance at that time. More important than the points on an individual assignment is to read the feedback that give you in the rubric for the assignment.
This course is a team based project course. The project involves many stakeholders, consequently proper communications is essential. Communication media are
- Emails – Be sure that you have access to the course email list. Also your team should have an email list.
- Interviews and meetings – Your team will have meetings and interviews with your scientists/client, graduate students/UX conultants, me/instructor and with your teammates.
- Discord – I will assign your team to discord channels. The channel can be used for your internal communications.
- Websites – You will create a team website and your UX consultants/graduate students will make a website. The websites are another medium for communication between your team and scientist. Be sure to tell your scientist/client about your team website.
- Presentations – Your team will make several presentations. You must attend all presentations.
- Repository – I will assign your team a GitHub repository. The repository is another medium to communicate your code to your teammates. You will need a GitHub account.
Effective communication has several aspects:
- Sincerity – Miss leading or dishonest communication is not effective communication.
- Respect – Respectful communication is respect for others. If your audience does feel respected, they will not listen. Consequently, disrespectful vocalization is disruptive to the proper content of your message. Respectful communication is also giving others time to speak.
- Listening – Communication is two way. You need to listen more than you speaking.
Improper communication will result in a grade reduction.
Your course grade will be determined by your performance on:
- Individual programming assignment
- Project completion and quality
- Course participation
- Surveys completions
Course participation includes working with your team, assisting other team, assisting graduate students, and participating in discussions.
You must satisfactorily perform on all aspects of the course to pass the course.
This is a group project course, so I cannot give you percentage breakdown of the grading.
Under graduate students work in teams on the project. They may discuss any aspect of the project with their team and graduate students including coding the project, but the individual programming assignments are an individual effort. This way you will be assure that all team members have a basic knowledge of Groovy and Grails.
Please let me know if you have a disability that requires special arrangements.
References to University Policies
University policies on Academic Integrity, Assessment, Disabilities Services, Institutional Equity and Inclusions, Veteran/Military, and Equal Opportunity, Discrimination, or Harassment Statement can be found at: