Fall2012.CSIS672 History

Show minor edits - Show changes to output

Changed line 23 from:
* '''Final''': 7:30-10:30pm, Monday, Dec. 10, 2012
to:
* '''Final''': 5:30-8:30pm, Monday, Dec. 10, 2012
Changed line 27 from:
[[(Fall2012.CSIS672)Homework1]], [[(Fall2012.CSIS672)Homework2]], [[(Fall2012.CSIS672)Homework3]].
to:
[[(Fall2012.CSIS672)Homework1]], [[(Fall2012.CSIS672)Homework2]], [[(Fall2012.CSIS672)Homework3]], [[Fall2012.CSIS672FinalProject | Final Project]].
Added lines 36-37:

* Wingfield, N. (2012), "[[http://www.nytimes.com/2012/10/22/technology/windows-staple-of-most-pcs-gets-a-major-makeover.html | Fresh Windows, but Where’s the Start Button?]]", NY Times, Oct. 22, 2012.
Changed line 27 from:
[[(Fall2012.CSIS672)Homework1]], [[(Fall2012.CSIS672)Homework2]].
to:
[[(Fall2012.CSIS672)Homework1]], [[(Fall2012.CSIS672)Homework2]], [[(Fall2012.CSIS672)Homework3]].
Changed line 21 from:
* '''Test 1''': Monday, Oct. 10
to:
* '''Test 1''': Monday, Oct. 8
Changed line 21 from:
* '''Test 1''': ''TBA''
to:
* '''Test 1''': Monday, Oct. 10
Changed line 23 from:
* '''Final''': 7:30-10:30pm, Monday, December 10, 2012
to:
* '''Final''': 7:30-10:30pm, Monday, Dec. 10, 2012
Added lines 55-59:

* Intro to '''Python'''
** Magnus Lie Hetland, [[http://hetland.org/writing/instant-hacking.html | Instant Hacking in Python]] (for non-programmers) and [[http://hetland.org/writing/instant-python.html | Instant Python]] (for programmers).
** John Zelle, ''Teaching Computer Science with Python'' transparencies: [[http://www.cs.cofc.edu/~manaris/uploads/Fall2006/sigcse-slides.pdf | one slide per page]] and [[http://www.cs.cofc.edu/~manaris/uploads/Fall2006/sigcse-handout.pdf | four slides per page]] (PDF).
** Jeffrey Elkner, Allen B. Downey and Chris Meyers (2008), "[[http://openbookproject.net/thinkCSpy | How to Think Like a Computer Scientist - Learning with Python)]]", 2nd ed., The Open Book Project.
Changed line 27 from:
[[(Fall2012.CSIS672)Homework1]].
to:
[[(Fall2012.CSIS672)Homework1]], [[(Fall2012.CSIS672)Homework2]].
Changed line 27 from:
TBA
to:
[[(Fall2012.CSIS672)Homework1]].
Changed line 17 from:
* Student %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2012/ | wiki for lecture notes]] [- (requires password, opens new window) -]
to:
* Student %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2012/StudentNotes | wiki for lecture notes]] [- (requires password, opens new window) -]
Added lines 46-49:
* [[http://colorschemedesigner.com/ | Color scheme designer]] for user interfaces.

* [[http://designingwebinterfaces.com/6-tips-for-a-great-flex-ux-part-5 | 6 tips for designing Web Interfaces]].
Added lines 54-55:
* [[http://developer.yahoo.com/ypatterns/everything.html | Yahoo! Design Pattern Library]]
Changed lines 58-60 from:
* Wikipedia, [[http://en.wikipedia.org/wiki/Fitts'_law | Fitt's Law]], [[http://en.wikipedia.org/wiki/Hick%27s_law | Hick's Law]], and [[http://en.wikipedia.org/wiki/Power_Law_of_Practice | Power Law of Practice]].

* [[(http://wellstyled.com/tools/colorscheme2/index-en.html | Color wheel]] for user interface design
.
to:
* Wikipedia, [[http://en.wikipedia.org/wiki/Fitts'_law | Fitt's Law]], [[http://en.wikipedia.org/wiki/Hick%27s_law | Hick's Law]], and [[http://en.wikipedia.org/wiki/Power_Law_of_Practice | Power Law of Practice]].
Changed line 25 from:
!!Assignments
to:
!!Assignments / Projects
Deleted line 31:
Deleted line 32:
Changed lines 15-16 from:
* [[(Attach:)cs672-syllabus.pdf | Course syllabus]]
to:
* [[Fall2012.CSIS672CourseSyllabus?action=print | Course syllabus]]
Changed lines 37-40 from:
!!!Readings

* Spolsky, J. (2001), ''[[http://www.cs.cofc.edu/~manaris/documents/Joel.Spolsky.UID_for_Programmers.html | User Interface Design for Programmers]]'', on-line version of book published by Apress – Springer-Verlag, ISBN: 1893115941.
to:
!!!References
Deleted lines 45-46:
* Pogue, D., "[[CSIS672_NYTimes1 | Some Phones Are Just, Well, Phones]]", New York Times, September 28, 2006.
Deleted lines 47-48:
* B. Manaris, V. MacGyvers, and M. Lagoudakis, "[[http://www.cs.cofc.edu/~manaris/publications/IJST2002.pdf | A Listening Keyboard for Users with Motor Impairments—A Usability Study]]," ''International Journal of Speech Technology'' 5(4), pp. 371-388, Dec. 2002. [-(This usability study shows that speech interaction with an ideal listening keyboard is better for users with '''permanent''' or '''task-induced motor impairments''' than conventional modes for alphanumeric input (37% better task completion time; 74% better typing rate; 63% better error rate). Results are shown relevent to alphanumeric input on mobile devices, such as PDAs, cellular phones, and personal organizers.)-]
Added lines 52-53:
* B. Manaris, V. MacGyvers, and M. Lagoudakis, "[[http://www.cs.cofc.edu/~manaris/publications/IJST2002.pdf | A Listening Keyboard for Users with Motor Impairments—A Usability Study]]," ''International Journal of Speech Technology'' 5(4), pp. 371-388, Dec. 2002. [-(This usability study shows that speech interaction with an ideal listening keyboard is better for users with '''permanent''' or '''task-induced motor impairments''' than conventional modes for alphanumeric input (37% better task completion time; 74% better typing rate; 63% better error rate). Results are shown relevent to alphanumeric input on mobile devices, such as PDAs, cellular phones, and personal organizers.)-]
Deleted lines 55-85:
* Kay, A. "[[http://www.metaobject.com/papers/Smallhistory.pdf | The Early History of Smalltalk]]", ACM SIGPLAN Notices, Volume 28, Number 3, March 1993.

!!References

* The [[usability of Unix and C]].

* Quotes on [[http://members.shaw.ca/jeff.brace/Simplicity.htm | simplicity]].

* Pyro Robotics, [[http://emergent.brynmawr.edu/emergent/PyroModuleEvolutionaryAlgorithms | Evolutionary Algorithms]] module.

* The [[http://www.baddesigns.com/|(bad) design]] of everyday things:
** When designers ignore consumers, products can flop ([[http://www.cs.cofc.edu/~manaris/spring05/cs672/Konica-example.htm|Konica e-mini M digital camera and MP3 player]]).
** [[http://www.bmwworld.com/technology/idrive.htm | BMW iDrive]] -- what is created for the sake of simplicity can oftentimes create the most confusion. (hear NPR's [[Attach:npr6516.smil|All Things Considered]], Thursday, August 8, 2002; 8 mins)

* Examples of innovative, well-designed UIs:
** Weka Explorer [[http://www.cs.waikato.ac.nz/~ml/weka/gui_explorer.html | screenshots]] -- task-driven UI design.
** [[http://www.inference.phy.cam.ac.uk/dasher/|Dasher]] -- let your eyes do the typing
** [[http://textarc.org/|TextArc]] is an innovative user interface presents an alternative to linear reading.
** [[http://www.csszengarden.com/|CSS Zen Garden]] -- a demonstration of what can be accomplished visually through CSS-based design.

* Alternative UI paradigms:
** [[http://mrl.nyu.edu/~jhan/ftirtouch/ | Multi-Touch Interaction]] - bi-manual, multi-point, and multi-user interactions on a graphical interaction surface.
** [[http://www.physicsweb.org/articles/news/9/11/8/1 | Sound-based "touch-screen" technology]] - inexpensive interaction via detection of sound waves produced when solid objects are tapped.
** [[http://www.ercim.org/publication/Ercim_News/enw57/leikas.html| Pressure-sensitive floor tiles]] - users interact intuitively and naturally with the environment and with each other.
** [[http://www.bodypad.com/eng/QuestionsMainPoints.php | Bodypad game controller]] actuated by the body.
** [[(http://www.)Exergames.com/]] - moving your body into the game (various UIs).

* [[http://www.cs.cofc.edu/~manaris/spring01/cs672-handouts/project1.html | Icon design project]]

* Usability Forum, [[http://my.opera.com/usability/archive/ | User Centered - Thoughts on usability in everyday things]], blog.
Deleted lines 56-57:

* NASA JPL Object Oriented Data Technology: [[http://oodt.jpl.nasa.gov/better-web-app.mov | user interface evaluation]] of web programming toolkits. [-(Also, see this [[small example]] of the approach applied to Java and Python.)-]
Changed lines 31-35 from:
# Debbie Stone, et al. (2005), ''[[http://www.amazon.com/Interface-Design-Evaluation-Interactive-Technologies/dp/0120884364 | User Interface Design and Evaluation]]'', Morgan Kaufmann.

# Donald A. Norman (2002), ''[[http://www.amazon.com/Design-Everyday-Things-Donald-Norman/dp/0465067107 | The Design of Everyday Things]]'', Basic Books.

# Saul Greenberg, et al. (2011), ''[[http://www.amazon.com/Sketching-User-Experiences-The-Workbook/dp/0123819598 | Sketching User Experiences: The Workbook]]'', Morgan Kaufmann.
to:
# Debbie Stone, et al. (2005), "[[http://www.amazon.com/Interface-Design-Evaluation-Interactive-Technologies/dp/0120884364 | User Interface Design and Evaluation]]", Morgan Kaufmann.

# Donald A. Norman (2002), "[[http://www.amazon.com/Design-Everyday-Things-Donald-Norman/dp/0465067107 | The Design of Everyday Things]]", Basic Books.

# Saul Greenberg, et al. (2011), [[http://www.amazon.com/Sketching-User-Experiences-The-Workbook/dp/0123819598 | Sketching User Experiences: The Workbook]]", Morgan Kaufmann.
Added lines 1-93:
! Human Computer Interaction

!!When/Where

Section 1: M 5:30-8:30PM / NCC 140

!!Description

Introduction to human computer interaction and user interface development. Topics include definitions of Human-Computer Interaction, importance of good interfaces, psychological foundations, user-interface design examples, interaction models and dialog types for interfaces, user interface life-cycle, user-centered design and task-analysis, prototyping and the iterative design cycle, prototyping tools and environments, user interface implementation, and interface quality and methods of evaluation.

This course stresses the importance of good interfaces and the relationship of user interface design to human-computer interaction. It is intended to provide an adequate basis in software design and implementation for user interfaces. There will be content on both the issues and engineering process for user interface development.

'''Prerequisites:''' Each student must have completed CSCI 230 (Data Structures and Algorithms) or an equivalent or higher course, or have permission of the instructor. Minimally, each student should have strong background in software development, data structures, and algorithms; also strong background in a high-level programming language such as Python, Java, or C/C++.

* [[(Attach:)cs672-syllabus.pdf | Course syllabus]]

* Student %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2012/ | wiki for lecture notes]] [- (requires password, opens new window) -]

!!Test Dates

* '''Test 1''': ''TBA''
* '''Test 2''': ''TBA''
* '''Final''': 7:30-10:30pm, Monday, December 10, 2012

!!Assignments

TBA

!!!Textbooks

# Debbie Stone, et al. (2005), ''[[http://www.amazon.com/Interface-Design-Evaluation-Interactive-Technologies/dp/0120884364 | User Interface Design and Evaluation]]'', Morgan Kaufmann.

# Donald A. Norman (2002), ''[[http://www.amazon.com/Design-Everyday-Things-Donald-Norman/dp/0465067107 | The Design of Everyday Things]]'', Basic Books.

# Saul Greenberg, et al. (2011), ''[[http://www.amazon.com/Sketching-User-Experiences-The-Workbook/dp/0123819598 | Sketching User Experiences: The Workbook]]'', Morgan Kaufmann.

!!!Readings

* Spolsky, J. (2001), ''[[http://www.cs.cofc.edu/~manaris/documents/Joel.Spolsky.UID_for_Programmers.html | User Interface Design for Programmers]]'', on-line version of book published by Apress – Springer-Verlag, ISBN: 1893115941.

* Lewis, C. and Rieman, J. (1994), [[http://www.hcibib.org/tcuid/ | Task-Centered User Interface Design - A Practical Introduction]].

* Jacob Nielsen's usability pointers
** [[http://www.useit.com/alertbox/20030825.html | Usability 101]] -- How to define ''usability''? How, when, and where can you improve it? Why should you care? This overview answers these basic questions.
** [[http://www.useit.com/papers/heuristic/heuristic_list.html | Ten Usability Heuristics]] -- Ten general principles for user interface design.
** [[http://www.useit.com/alertbox/progressive-disclosure.html | Progressive disclosure]] defers advanced or rarely used features to a secondary screen, making applications easier to learn and less error-prone, whereas ''staged disclosure'' provides a linear sequence of options, with a subset displayed at each step. Both are strategies to manage the profusion of features and options in modern user interfaces.

* Pogue, D., "[[CSIS672_NYTimes1 | Some Phones Are Just, Well, Phones]]", New York Times, September 28, 2006.

* Critchley, S., "[[http://digitalmedia.oreilly.com/lpt/a/5523 |Designing Musical Instruments for Flow]]", O'Reilly Digital Media, December 29, 2004. [-(If you ask musicians what they value most about making music, most of them will say — in some form or another — ''flow''. Flow is that wonderful sense of being lost in your work, when "work" becomes joy. Time disappears, and so do distraction, anxiety, and just about everything else, yielding to a pure unity of creator and creation. So wouldn't it be strange if many of today's musical instruments were ''designed to prevent or destroy flow''?)-]

* B. Manaris, V. MacGyvers, and M. Lagoudakis, "[[http://www.cs.cofc.edu/~manaris/publications/IJST2002.pdf | A Listening Keyboard for Users with Motor Impairments—A Usability Study]]," ''International Journal of Speech Technology'' 5(4), pp. 371-388, Dec. 2002. [-(This usability study shows that speech interaction with an ideal listening keyboard is better for users with '''permanent''' or '''task-induced motor impairments''' than conventional modes for alphanumeric input (37% better task completion time; 74% better typing rate; 63% better error rate). Results are shown relevent to alphanumeric input on mobile devices, such as PDAs, cellular phones, and personal organizers.)-]

* Paper prototypes
** Snyder, C. (2001) [[http://www.cs.cofc.edu/~manaris/spring05/cs672/Paper-prototyping.html | Paper prototyping]]. IBM developerWorks.
** Nielsen, J. (2003) [[http://www.useit.com/alertbox/20030414.html | Paper Prototyping: Getting User Data Before You Code]].

* Wikipedia, [[http://en.wikipedia.org/wiki/Fitts'_law | Fitt's Law]], [[http://en.wikipedia.org/wiki/Hick%27s_law | Hick's Law]], and [[http://en.wikipedia.org/wiki/Power_Law_of_Practice | Power Law of Practice]].

* Kay, A. "[[http://www.metaobject.com/papers/Smallhistory.pdf | The Early History of Smalltalk]]", ACM SIGPLAN Notices, Volume 28, Number 3, March 1993.

!!References

* The [[usability of Unix and C]].

* Quotes on [[http://members.shaw.ca/jeff.brace/Simplicity.htm | simplicity]].

* Pyro Robotics, [[http://emergent.brynmawr.edu/emergent/PyroModuleEvolutionaryAlgorithms | Evolutionary Algorithms]] module.

* The [[http://www.baddesigns.com/|(bad) design]] of everyday things:
** When designers ignore consumers, products can flop ([[http://www.cs.cofc.edu/~manaris/spring05/cs672/Konica-example.htm|Konica e-mini M digital camera and MP3 player]]).
** [[http://www.bmwworld.com/technology/idrive.htm | BMW iDrive]] -- what is created for the sake of simplicity can oftentimes create the most confusion. (hear NPR's [[Attach:npr6516.smil|All Things Considered]], Thursday, August 8, 2002; 8 mins)

* Examples of innovative, well-designed UIs:
** Weka Explorer [[http://www.cs.waikato.ac.nz/~ml/weka/gui_explorer.html | screenshots]] -- task-driven UI design.
** [[http://www.inference.phy.cam.ac.uk/dasher/|Dasher]] -- let your eyes do the typing
** [[http://textarc.org/|TextArc]] is an innovative user interface presents an alternative to linear reading.
** [[http://www.csszengarden.com/|CSS Zen Garden]] -- a demonstration of what can be accomplished visually through CSS-based design.

* Alternative UI paradigms:
** [[http://mrl.nyu.edu/~jhan/ftirtouch/ | Multi-Touch Interaction]] - bi-manual, multi-point, and multi-user interactions on a graphical interaction surface.
** [[http://www.physicsweb.org/articles/news/9/11/8/1 | Sound-based "touch-screen" technology]] - inexpensive interaction via detection of sound waves produced when solid objects are tapped.
** [[http://www.ercim.org/publication/Ercim_News/enw57/leikas.html| Pressure-sensitive floor tiles]] - users interact intuitively and naturally with the environment and with each other.
** [[http://www.bodypad.com/eng/QuestionsMainPoints.php | Bodypad game controller]] actuated by the body.
** [[(http://www.)Exergames.com/]] - moving your body into the game (various UIs).

* [[http://www.cs.cofc.edu/~manaris/spring01/cs672-handouts/project1.html | Icon design project]]

* Usability Forum, [[http://my.opera.com/usability/archive/ | User Centered - Thoughts on usability in everyday things]], blog.

* [[(http://wellstyled.com/tools/colorscheme2/index-en.html | Color wheel]] for user interface design.

* NASA JPL Object Oriented Data Technology: [[http://oodt.jpl.nasa.gov/better-web-app.mov | user interface evaluation]] of web programming toolkits. [-(Also, see this [[small example]] of the approach applied to Java and Python.)-]