Spring 2017

Mobile Application Development

CS 4520 / CS5520
College of Computer and Information Science

Class Location:   Shillman Hall 315
Class Time:   2:50 - 4:30 PM Mon/Wed
Credit Hours:   4SH
First Class:   Mon Jan 9, 2017
Last Class   Wed Apr 19, 20176
Final exam   None (Final project)
Final project, last possible due date   Fri Apr 21, 2017 by end of day
Last optional regrade of final project: Fri April 28, 2017
Instructor:     Stephen Intille, Ph.D.
Office:   910-177 (9th Fl) (Office 924)
Office Hours:   Tue 8:30-9:30 AM
After each class for 25 minutes
By appointment
Email:   ...@neu.edu
     
Message group   http://piazza.com/northeastern/spring2017/cs4520and5520
Paper archive   PDFs of some readings will be posted on Blackboard
     
Course assistants  

Anirudh Kapila Devgun (devgun.a@husky.neu.edu)
Dhara Prakash Bhavsar (bhavsar.d@husky.neu.edu)

     
TA Help & Hack sessions   See Piazza for the most up-to-date times/locations

Course Description:

This project-oriented course examines the principles of mobile application design and development. Students will learn application development on the Android platform. Topics will include memory management; user interface design; user interface building; input methods; data handling; network techniques and URL loading; and, finally, specifics such as use of mobile sensing such as GPS and accelerometers. Students are expected to design and develop a professional-quality mobile application that addresses a real-world problem in an innovative way. Coursework will include project conception, design, implementation, and pilot testing of mobile phone software applications, using health applications as the target domain.

Prerequisites:

There are no course prerequisites, but students in the course should be very comfortable with Java, C#, or another modern object oriented programming language. The basics of Java, which are required for Android programming, are not taught in the course, and students who do not know Java or who cannot pick it up very quickly will have a much steeper learning curve.

Course Objectives:

By the conclusion of this course, students will be able to:

Students will have created an innovative and robust mobile application that will be valuable addition to their programming portfolio. Students will have gained experience describing application concepts in writing and in oral presentations.

Students in the graduate version of the class (CS 5520) will have also developed an application that uses mobile sensing capabilities in a sophisticated way.

Past Offerings: 

Mobile Application Development has been offered regularly for the last few years. Links to prior syllabi can be found at the course website (http://bit.ly/MobileApplicationDevelopment). Also found at that website are winners of the app competition from some prior semesters. Students considering the course are encouraged to read the Frequently Asked Questions document.

Classroom Format: 

Most classes will be divided into two parts. The first part of the class will be devoted to a lecture and question and answer period and/or code walkthroughs on technical concepts. The last 20-30 minutes of class will be devoted to short presentations from students on various technical and design concepts from the optional readings that reinforce the required material or provide exposure to useful concepts, toolkits, programming tips, etc. Some classes will be devoted entirely to project idea presentations or project prototyping exercises. The instructor will assume all students have read the assigned material for each class before arriving.

Required and Optional Texts:

The required text will be:

Otherwise, the course uses online resources for Android programming. In addition, students will read papers on the design of novel mobile applications that will be available online or made available via Blackboard.

Strongly recommended (especially for graduate students), but not required:

Recommended:

There are no shortage of Android programming books. Students who wish to make particularly outstanding project apps will benefit from reading books beyond those assigned in the class. Prof. Intille has found these helpful, but there are many alternatives:

Additional Materials: 

All students are required to setup a Google Play Store account for submitting assignments ($25).

All development tools required to program in Android on PCs and Macs are freely available, and many applications can be developed and tested using the emulator. Android Studio, which is free, will be the IDE used in the course. The Android Studio setup should be available on CCIS lab computers.

Thanks to the CCIS Dean's office, A limited number of pay-as-you-go Android phones are available for loan during the course (Virgin Kyocera Rise model) to students who do not have access to an Android device. At this point, these are very old phone models. Using them has the advantage that if code runs on them, it will typically run faster/better on newer models with bigger screens. However, many libraries are not available on the old version of Android running on the Kyoceras. A limited number of additional Android phones of various models, including more advanced models, will be available during the TA help sessions. These are on loan from Prof. Intille's research group. When necessary near the end of the term, more advanced phones may be loaned to teams for testing, pending availability. When phones are loaned out, students are responsible for taking excellent care of the devices and returning them. Failure to return a phone will result in a grade not being assigned.

Students will find it helpful to identify friends who have Android phones upon which apps can be occasionally tested, especially in the latter part of the term.

Getting Help:

Most of class lecture is devoted to description of concepts at a relatively high level, but learning Android will require hours of effort invested in iteratively developing ideas, writing and debugging code, and testing and revising applications.

There are three ways to get additional help:

Weekly grader help & hack sessions. The course assistants will have office hours twice per week when they will answer questions and help to debug code. We encourage students to attend and work on programming Android in an environment where the course assistants can provide help, and where students in the class can help each other.

Piazza online help. The Piazza web site should be used to post technical questions, and students are expected to help other students when possible.

CCIS programming help sessions. CCIS offers general programming help for undergraduates. Although the students who staff these sessions may not know Android, they may be able help with Java questions. Check Piazza for information about the timing of these sessions.

Course Schedule/Outline:

Course requirements include (1) readings for class preparation and class participation, (2) individual and team design assignments, (3) individual and team programming assignments, (4) in-class presentations of either a programming concept or a research or design paper, (5) the final programming project, and (6) preliminary and final presentations on projects.

This will be an intensive course that will require significant reading each week, design exercises, and programming. Students should be prepared to fully immerse themselves in Android programming and mobile app design and development for the semester. Students who are not comfortable in Java will most likely need to spend additional time becoming comfortable with Java syntax and libraries.

This class is being improved each time it is offered based on student feedback, and therefore some of the details in the schedule below, are subject to change as the semester goes forward.

Date

Class topic

Reading Due
(Beginning of class)
Readings for Scheduled Presentations
(TBD)
Assignments Due

(Due end of day (EOD) unless noted)

Part 1: Ramping up                                                     

Mon Jan 9
Class 1

Hello Mobile World! Introduction to the Course

Q&A

None

   

Wed Jan 12
Class 2

Syllabus Q&A

Presentations - how they work

Academic honesty - rules and expectations

Planning for Assignment 1

Android basics

Development and debugging tools

The Play Store (app store)

Course FAQ
Hello Ch. 1 & 2
Hello Appendix 1
Hello Ch. 8 &9
ADG: Developer Workflow
ADG: Android Application Fundamentals
ADG: Beta testing and staged roll-outs
ADG: Publishing
ADG: Signing Applications

 

Complete the Intro Survey

Join the NEU mobile mailing list: sign up

Pick a topic to present on (list to be added soon).

Recommended: Have your development environment setup

Mon Jan 16 No class - MLK holiday     Sign up for a presentation topic by today
Wed Jan 18
Class 3

Version and version targeting

Activity lifecycle and other Android basics

Understanding the textbook's example code

Hello Ch. 3 & 4
ADG: Android Introduction
ADG: Read about Material Design
ADG: Application Structure
ADG: Activities

3 presentations  
Fri Jan 20       (Individual; Coding) Assignment 1: Hello Mobile Application Development (HelloMAD) on Marketplace and GIT

Part 2: Basic GUI and design

Mon Jan 23
Class 4

Discussion Assignment #1

Planning for Assignment #2: Ideas!

Addictive games and successful apps

Planning for Assignment #3: Building a word game

Mobile design guidelines

Articles on cognitive teardowns of addictive games (use these versions with special annotations):

   

Wed Jan 25
Class 5

Assignment #2 idea critique (critique ideas from volunteers)

Effective debugging

More Android basics:
Activity lifecycle
Manifest file
Intents and intent filters
Basic GUI components (layouts/views)


Hello Ch. 5-7

ADG: Manifest File
ADG: Debug Your App and Debugging and Logging
ADG: Using DDMS
ADG: Intents and Intent Filters
ADG: Getting Started with Testing (optional but recommended)
ADG: Working with System Permissions

 

 
Fri Jan 27       (Individual; Design) Assignment 2A: Addictive game and project idea mash up

Mon Jan 30
Class 6

Discussion from Assignment #2A

Q&A on Assignment #3

Storage: Files, shared preferences, Database (SQLite)

 

ADG: Application Resources (excluding Localization Subsection)
ADG: Data Storage (including subsections)

 

Wed Feb 1
Class 7

 

One-Minute MADness

Views and Fragments and 2D Graphics

ADG: UI Overview (and subsections Layouts, Input Controls, Input Events, Dialogues, Notifications, Toasts)

ADG: Fragments

ADG: 2D Graphics
ADG: Drawable Animation
ADG: Setting up the App Bar and Say Goodbye to the Menu Button

 

None

(Individual; Design) Assignment 2B: One-minute MADness presentation (Due noon, before class)

Fri Feb 3       (Individual; Coding) Assignment 3: Word Game Part 1: Dictionary (due EOD)

Mon Feb 6
Class 8

 

Discussion Assignment #3
Planning for Assignment #4

More on Views, Fragments, and 2D Graphics

Broadcast receivers and intents

Alarms/Job Scheduling

ADG: Styles and Theme

ADG: BroadcastReceivers
ADG (reread): Intents and Intent Filters
ADG: Manipulating BroadcastReceivers

ADG: Scheduling Repeating Alarms
ADG: AlarmManager


   

Wed Feb 8
Class 9

Planning for Assignment 5

Services, Threading and AsyncTasks

Wake locks

ADG: Services
ADG: Processes and Threads
ADG: Security and Permissions
ADG (reread): Using DDMS
ADG: AsyncTask

   
Fri Feb 10

 

 

 

  (Individual; Design) Assignment 4: Project Idea Pitch (due EOD)
Mon Feb 13
Class 10

Discussion assignment 4

Paper prototyping overview

Rettig “Prototyping for Tiny Fingers”    
Wed Feb 15
Class 11

Discussion assignment #5

Planning for Assignment #6

Notifications

Cloud Messaging

Permisssions

ADG: Keeping the Device Awake
ADG: Notifications
ADG: Cloud Messaging
ADG: Working with Permissions

Debugging Arts of the Ninja Masters


   
Fri Feb 17       (Individual; Coding) Assignment 5: Word Game Part 2: Addictive Word Game

Mon Feb 20

No class - Presidents' Day holiday

 

 

 

Part 3: Making apps more sophisticated and robust

Wed Feb 22
Class 12

Planning for Assignment #7&9

Saving/Grabbing data from the web

Hello Ch. 10-11

ADG: Building Connectivity
ADG: Performing Network Operations
ADG: Transferring Data Without Draining the Battery

 

 

Fri Feb 24      

(Individual; Design) Assignment 6: Final Project Individual Paper Prototype Design

Mon Feb 27
Class 13

Discussion Assignment #6

Critiquing and improving interface designs: practice

Live paper prototyping

Tohidi et al, 2006 "Getting the Right Design and the Design Right: Testing Many is Better Than One" (Blackboard)

Tohidi et al., 200.6 "User Sketches: A Quick, Inexpensive, and Effective way to
Elicit More Reflective User Feedback" (Blackboard)

   

Wed Mar 1
Class 14

Planning for Assignment #9

Sensors overview

Sensing: Speech recognition

 

ADG: Sensors Overview
ADG: Motion Sensors
ADG: Position Sensors
ADG: Environment Sensors

PASP: Matching What Was Said (Ch. 17) (Blackboard)
PASP: Using Speech Recognition and Text-To-Speech APIs (Ch. 16) (Blackboard)

 

 

Fri Mar 3       (Individual; Coding) Assignment 7: Word Game Part 3: Two-Player Communication
Mon Mar 6 No class - Spring Break      
Wed Mar 8 No class - Spring Break      
Mon Mar 13
Class 15

Discussion Assignment #7

Sensing: Motion and audio sensing

PASP: Detecting Movement (Ch. 8) (Blackboard)
ADG: Audio Capture
PASP: Using the Microphone (Ch. 14) (Blackboard)

 

 

Wed Mar 15
Class 16

Sensing: Location and maps

Hello Ch. 12
ADG: Making Your App Location Aware

   
Fri Mar 17      

 

Part 4: Designing and programming an innovative mobile app

Mon Mar 20
Class 17

Sensing: Radios

Optimization

Williams, Integrating pair programming into a software development process

Pair Programming

Introduction to Pair Programming

ADG: Bluetooth
ADG: NFC
ADG: WiFi Connect

ADG: Designing for Performance
ADG: Designing for Responsiveness
ADG: Designing for Seamlessness
ADG: Optimizing Your UI
ADG: Profiling with Traceview and dmtracedump
Lazy loading

  Identify your final project partner

Wed Mar 22
Class 18

Discussion of final projects

Pair programming

Discussion of Word Game assignments and code review

Planning for Assignment #11



 

(Individual; Coding) Assignment 8: Word Game Part 4: Two Player Word Game (+sensor secret sauce for 5520)

Sun Mar 26 (EOD)      

 

Mon Mar 27
Class 19

SQLite

Remote sync

Hello Ch. 13
ADG: Examining sqlite3 Databases from a Remote Shell
ADG: Data Backup
ADG: Storing and Searching for Data
None

Wed Mar 29
Class 20

2-minute madness (2 minute presentations of project plans by teams) with discussion of the trickiest part

Planning for final projects

 



 

 

3 presentations

(Team; Design) Assignment 9: Team project idea proposal and plans

(Team) Assignment 10: 2-minute MADness presentation

Fri Mar 31        

Mon Apr 3
Class 21

Miscellaneous topics and tools (3D graphics, telephony, SMS, multi-touch, livewallpaper, widgets, cut and paste)

ADG: 3D with OpenGL
ADG: Property and View Animation
ADG: Media Playback
ADG: App Widgets
ADG: App Widget Design Guidelines
ADG: Copy and Paste
ADG: Device ID

4 presentations  

Part 5: Final development of final project

Wed Apr 5
Class 22

Supporting many devices

Making a living – Licensing and Billing

Internationalization

Supporting Tablets and Handsets

ADG: Localization
Casting a wide net: how to target all Android devices (2010)

Has Apple Just Screwed the Business Model for Selling Software (including comments) and GDC 2010: Ngmoco's Neil Young on how freemium will change the App Store world

Articles on micropayments: Article1, Article 2, and Where are the MicroPayments (on Blackboard)

ADG: New Tools for Screen Sizes

 

8 presentations  
Fri Apr 7 (EOD)       (Team; Coding) Assignment 11: Trickiest Parts of Project and Half-way Done

Mon Apr 10
Class 23

Future mobile interfaces discussion (Wear, VR, etc.)

 

 

 

8 presentations  

Wed Apr 12
Class 24

Individual presentations
Final course evaluations

 

12 presentations  
Mon Apr 17 No class - Patriot's Day      

Wed Apr 19
Class 25

*Note the length of this class may be extended to fit all final presentations or some teams may present on Apr 12

Final project presentations   None

Presentations due

Fri Apr 21 (EOD)

 

Try out other team apps   Final project due
(final update by April 28)
3 presentations

Course subject content is tentative and may change during the semester until the date of assignment.

Schedule after the last class:

Please note that while the optional re-review of final projects is not required, but it is quite common for teams to take advantage of this option and to need the extra time. Students should arrange travel plans accordingly.

Grading Procedures and Criteria:

Prior experience suggests that work in this course will generally fall into one of four categories:

Course work falling into these categories correspond roughly to A, B, C, and D grades. In the last three offerings of this course, each time grades ranged from A-F, with a modest number of grades in A range and the bulk of grades in the B range. The final grade for the course will be computed by weighting the results from each assignment according to the following formula:  

Expectations of quality work showing mastery of course material will increase with every assignment, culminating very high expectations for the final project.

Please read the late policy information below carefully.

Class presentations  

Every student will have multiple opportunities to hone presentation skills in this class, because they are critical to future career success. Students will make four presentations: (1) a 6-minute individual presentation teaching the class about a mobile app development concept, (2) a 1-minute presentation on a preliminary app project idea, (3) a 2-minute presentation on a final project idea (possibly with team partner), and (4) a final 6-minute presentation on the final project implementation (possibly with a team partner).

Students will be provided with a template for the presentations and will be expected to use a modified Petcha Kucha format for each (20s per slide, with an auto-advancing presentation). This format requires practice in advance! Presentations will be graded on adherence to the format and overall presentation clarity and evidence of practice, as well as demonstration by the students of a thorough understanding of the topics being discussed.

In each student's 6-minute individual presentation, the goal is for the student to teach the class an important idea/concept in as much depth as possible in a limited time (18 slides at 20s per slide). All students will develop a presentation from this Powerpoint template. Students need to carefully review the presentation tips document and avoid the mistakes outlined in it.

Presentations on project status and the final projects will also use a similar format (although most will be much shorter).

Code review   

In some classes, code from assignments may be randomly selected. In this case, the student(s) who wrote the code may be asked in class (without prior notice) to step through it, explaining key design decisions. Other students may be asked to critique the code. All code must be up-to-date using BitBucket and Git.

Design assignments  

The best way to reduce programming time is to spend time on effective design early in the development process. Therefore, in this class, design and rapid prototyping will be emphasized throughout, as well as programming. Design assignments will get students thinking carefully about design, leading towards a final project, and will ensure that students are working to help each other, across teams, to develop the most innovative mobile apps possible. In the past, some students have struggled with this aspect of the course. Students should be prepared to get honest feedback on designs, generate many ideas, and spend time testing concepts before they start programming them. An investment in coming up with a good design pays off as the final project is developed.

Programming lead-up assignments

A set of programming assignments will help individuals and then teams incrementally converge on an innovative final project. The assignments will get increasingly challenging, as individuals first make simple modifications to an existing Sudoku game and transform it into a completely different type of addictive word game. Then teams will work on developing a a final project with a health purpose. (It is anticipated that most final projects will look nothing like the first addictive game developed by modifying Sudoku, thereby making it possible for students to add more than one app to their portfolio at the completion of the course: the word game and the final project.)

All assignments will be “submitted” via uploading apps to the app store and via committing code using Git and Bitbucket. For grading, the apps will be updated and run on an actual mobile phone of an unspecified model. Emphasis will be on usability design, creativity of the design, professionalism of the application, and technical robustness. For the most part, the structure of the code behind the applications will not be reviewed during the grading process unless a problem is identified, but the latest code must always be online for review, and students must be incrementally committing code and using the feature and bug tracking features on BitBucket.   

Final project design and implementation

Although there are design and programming projects along the way, they are all designed to support the development of an outstanding final project. Students will design and implement a fully-functional mobile phone application for Android mobile phones that must be sufficiently robust so that it can be deployed with actual users. Students will work in two-person teams (recommended) or individually. Teams are expected to produce a polished and professional mobile phone application that works robustly on a variety of phone models, meets the user interface design standards discussed in the course, and shows a substantial amount of creativity. The goal is not to produce yet another app that does the same thing as other apps on the app store, but to design an app that truly stands out from the crowd. Students should aim for focused apps that are addictive/fun/engaging but with a serious purpose that creatively exploit some of the unique capabilities of mobile interaction and mobile devices. The apps must address one of the key project topics presented in class; these topics provide a creative challenge for students. The final app should be extremely easy and pleasing to use. To achieve these goals will require many rounds of design iteration and careful application of the design concepts discussed in class, as well as a lot of creative thinking and exploration.

To ensure that students can benefit from the collective experience of one another, and to focus the course to maximize the likelihood that students will develop novel application ideas, the course assignments and project will focus on the area of apps for health. Final projects must address one of the topics discussed in the first or second class. In 2017, the course will have a special focus on annotation sensor data from mobile devices using real-time or crowdsourced mobile games.

Virgin Kyocera Rise Android phones will be available for development and testing as needed, with more advanced models available at the weekly help/hack sessions and on a limited basis at other times. Teams interested in using other wireless sensors (e.g., heart rate monitors, wireless motion sensors, smartwatches) will be provided with those as well.

At the end of the term students will present their project in class. Students will be provided with a template for the presentations, using a modified Pecha Kucha format (16-20 slides, 20 seconds each, on auto advance). Presentations will be graded on adherence to the format and overall presentation clarity on the final project, and evidence that the presentation was practiced.

Teams / Pair programming:

In the first part of the course, students work individually. For the final project, students are strongly encouraged to form teams of two. Students will be able to self-select teams and we will have a class exercise that should help students find others interest in similar project topics. Students may elect to work individually, but this may make the course more challenging. Mobile phone programming can be tricky and frustrating at times, and working in pairs can not only improve efficiency but also enhance creativity of the final app. If students wish to have a partner but cannot identify one, the instructor will help with pairing to the extent possible, but students who cannot find a partner may be forced to work alone.

Pair programming has been shown to have a number of benefits including increased personal satisfaction and fewer errors. When students work in pairs, both must work together on a single computer, and both must write approximately half of the code. Very little code should be written without the other partner present and watching.

Teams are expected to apply software best practices such as tracking tasks and using software configuration management, and select appropriate supporting tools.

At the end of the semester, each team member will be asked to separately document the other team member's contributions. This information will be taken into account when assigning final grades.

App Competition:

At the end of the class, students in the class and a small panel of distinguished judges from academia and industry will try out the applications and vote for the top apps based on creativity, robustness, usability, and usefulness. The winning team will receive ... bragging rights and acknolwegement on the course webpage.

Classroom Policies:

Students are expected to demonstrate qualities of academic integrity at all times. In particular, students should demonstrate a commitment, even in the face of adversity, to five fundamental values:  honesty, trust, fairness, respect and responsibility.

Actively engaging in verbal exchanges of ideas and concepts will be a component of learning in this course. This will be stimulated by readings, class discussions and case problem solving. Therefore everyone will be expected to actively and positively listen to others and to communicate their ideas during class and on the class discussion board. Some students are less comfortable speaking in class than others, but open discussion of ideas and even disagreement is essential.  Therefore, all students are expected to read course materials prior to class and may be called upon at times even if they do not raise their hands. Participation does not result from talking a lot, but as a result of critical thinking and articulation of ideas.

University policy dictates that students must seek the instructor’s permission to tape record class lectures.  Prof. Intille will always allow the use of tape recorders to support your learning.

As ironic as it may seem in a course about mobile application development, to facilitate discussion and learning, electronic devices, including laptops and tablets and phones and Google Glass, must be turned off in class unless otherwise specified by the instructor.

Slides shown in class will be available on the course web site 1-2 days after each class.  

Please do not eat during the class unless you plan to provide food for everyone.

Students are expected to be particularly attentive when their peers are presenting.

Writing/Presentation Policies:

Assignments that involve writing and presentation will be judged on clarity of presentation as well as content. Students who are having difficulty with writing will be referred to the Northeastern University Writing Center.

Late Policy:

Unexcused late assignments will automatically be lowered by one letter grade. Assignments will not be accepted more than one week late. Because the team project activities each week build on the prior week's results, teams are strongly encouraged to turn in their work on time in whatever state it is in.

In extenuating circumstances, well prior to (e.g., two weeks before) an assignment due date, a student may request an extension with a reasonable explanation. It is the discretion of the instructor to permit late assignments and this is rare, because all students have one late assignment pass.

Get out of being late pass: Getting behind in this course creates serious problems as students go forward, because early foundational work is necessary to successfully complete a high-quality, professional final project. Therefore, assignment deadlines will be strictly enforced, following the late policy above. However, each student will be allowed one "get out of being late" pass for any assignment other than the final project and the in-class individual presentations. If this pass is used, an assignment can be turned in up to one week late with no penalty. The pass cannot be used on a team assignment unless BOTH team members have an unused pass.

Academic Honesty:

All students are expected and encouraged to discuss the topics raised by this course with each other. Ideas or content (including graphical and auditory content) incorporated from an outside source or another student must be documented appropriately in the app submissions, write-ups, and presentations. Students must abide by the NU Code of Student Conduct and Academic Integrity Policy. Acts of academic dishonesty will be referred to the Office of Student Conduct and Conflict Resolution.

Students are encouraged to help each other with programming assignments, but copying of blocks of code from another student or team is not acceptable. Students must be prepared and capable to explain the work they have done. Similarly, students working in teams are expected to jointly work on the code they develop and BOTH students should have a thorough understanding of all of the code.

Academic honesty is fundamental to the learning process. As a reminder,  

Any student found cheating on an assignment or with code that raises concerns about potential cheating will receive a zero on that assignment and be immediately reported to the Northeastern University Office of Student Conduct and Conflict Resolution (OSCCR) and the dean's office in CCIS. A second offense will result in a failing grade for the course. Note that even the suspicion of cheating will trigger these actions, and therefore students must actively work to prevent others from using their work in unauthorized ways.

Any code snippets or content used in any assignment throughout the class must be documented in that particular assignment, as will be described in class.

These policies will be discussed in the second or third class. Students who miss that class are expected to review the documents carefully and confer with other students regarding these policies.

Students with questions about what is acceptable or unacceptable collaboration on assignments should ask the instructor.

Accommodation:

Students who have a disability are encouraged to seek accommodations though the University Disability Resource Center.  If the Disability Resource Center has formally approved you for an academic accommodation in this class, please present Prof. Intille with your "Professor Notification Letter" during the first week of the semester and speak privately with Prof. Intille about your needs for accommodations and strategies to support your success. This information will be kept confidential.

Title IX:

Title IX makes it clear that violence and harassment based on sex and gender are Civil Rights offenses subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, etc. If you or someone you know has been harassed or assaulted, you can find the appropriate resources here: http://www.northeastern.edu/oidi/titleix/.

Trace:

Prof. Intille will distribute optional mid-term course evaluations, to be returned anonymously. Responses to the questions help to improve this course during the current semester and for future students. Significant modifications to the design of this course have been made based on prior surveys returned.

All students are strongly encouraged to use the TRACE (Teacher Rating and Course Evaluation) system near the end of the course to evaluate this course. A reminder about TRACE should arrive via email about two weeks before the end of the course.