IT Social Media Networking Course Descriptions

16:137:531 Introduction to User Experience Design (3)

As an introduction to the field of User Experience Design (UXD), this course provides an overview of the process for specifying, designing, and testing computer interfaces to enable its users to easily learn, understand and use them. It will discuss how UXD fits within the overall interface development process, how UXD fits within a company's business operations and how each of the elements of UXD fit together into a design and development process.  Furthermore, it will address important fields in UXD such as accessibility and mobile computing. This is a team taught course with experts from Industry & Academia. 
Topics covered:
  • User experience design process from start to completion
  • Current practices such as selecting appropriate design patterns, developing user personas, conducting a contextual inquiry and card sorting
  • UXD evangelism recommendations for survival within a large company
  • Return on investment costing and designing for competitive advantage
  • Overview of the professional field and where to look for resources
The objective of this course is to introduce the fundamentals of mobile app development, but more importantly provide the student with a complete top down overview of the mobile application marketplace and the opportunities that exist.
In this course, the design and processes contained within modern enterprise software will be discussed with special emphasis on systems in use in large organizations such as Oracle EBS, JD Edwards and SAP. The business processes supported by such systems as well as the internal data structures that represent them will also be covered. Students will learn Agile/SCRUM project management processes. Additionally, disaster recovery, high availability and inexpensive application scaling will be discussed. Special emphasis will be given to business process analysis and re-engineering. Students will be expected to complete a project related to enterprise software
This course introduces students to databases, data modeling, and database management systems for information management and retrieval.  Both theory and practical technology experiences will take place balancing database concepts, design, implementation and usage.
16:198:500:04 Light Seminar on Mobile Computing (3)
The goal of this seminar is to discuss the state of the art and research challenges in mobile computing, with a focus on systems, networking, security, and social issues. A discussion will take place on selected papers presented at premier conferences on mobile computing in the last several years or that will be presented in 2010.

16:198:513 Design and Analysis of Data Structures and Algorithms I (3)
Worst case, average case, and amortized analysis. Data structures: search trees, hash tables, heaps, Fibonacci heaps, union-find. Algorithms: string matching, sorting and ordering statistics, graph algorithms. NP-completeness. Prerequisites: Admission requirements; familiarity with Prim and Kruskal minimum spanning tree algorithms and Dijkstra shortest path algorithm.

16:198:519 Operating Systems Theory (3)
Operating system basics; process management; synchronization, memory management; interprocess communication, network protocols, RPC, client-server architectures; file systems and distributed file systems; scheduling and security; current trends and case studies. Prerequisite: 01:198:416 or 16:198:505 or equivalent.

16:198:528 Parallel Numerical Computing (3)
Analysis of numerical algorithms for a variety of parallel architectures. Parallelization of existing algorithms. Mapping of algorithms onto various architectures. Techniques for developing fast parallel numerical algorithms. Algorithms implemented on existing simulators or actual parallel machines. Prerequisites: Numerical algorithms (01:198:323 or 16:198:510) and nonnumerical algorithms (01:198:344 or 16:198:503); basics of Unix, Fortran, or C.

16:198:541 Database Systems (3)
Relational data model. Relational query languages and their expressiveness. Dependency theory and relational normalization. Physical database design. Deductive databases and object-oriented databases. Optimization of relational queries. Prerequisites: 01:198:336 or equivalent; 16:198:513. Recommended: 16:198:509 or equivalent.

16:198:545 Distributed Systems (3)
Basic mechanisms for building distributed systems (remote-procedure call, synchronization, transactions), components of distributed operating systems (file systems, distributed shared memory), and issues in wide-area distributed systems (security, wide-area clustering). Prerequisite: 16:198:519.

16:198:552 Computer Networks
Computer network protocols and architecture; protocol design; internet working and TCP/IP. Medium access, routing, and traffic control; network security; integrated and differentiated services; network programming; network simulation. Prerequisite: 01:198:416.

16:198:553 Design of Internet Services (3)
Internet applications, services, and programming models; middleware, proxy caches, and directory services; web server architecture and commodity clustering systems for scalable services; electronic commerce; multimedia streaming; internet security and firewalls. Prerequisite: 16:198:552.

16:198:580 Topics in Computers in Biomedicine (3)
Survey of computational methods in biology or medicine; topics vary from instructor to instructor and may include computational molecular biology, medical reasoning, and imaging. Prerequisite: 16:198:513 or 520, depending on the semester, or permission of instructor.

16:198:583 Topics in Software Design (3)
In-depth study of selected topics in the areas of software engineering, distributed computing, and electronic commerce and security. Course leads to research in these areas. Prerequisites: Proficiency in at least two of the following areas: database systems, operating systems, programming languages, and AI.

16:198:587 Expert Systems (3)
Scope and characterization of expert systems. Consultation processes and expertise. Knowledge acquisition and representation. Methods of inference under uncertainty and problem-solving strategies. Review of existing expert systems and specialized languages. Prerequisites: 16:198:530 and permission of instructor.

16:198:672 Video Game Programming and Design (special topic)

16:198:673 Web Data Management (special topic)

16:332:423 Computer and Communication Networks (special topic)

16:332:544 (S) Communication Networks II (3)
Network and protocol architectures. Layered-connection management, including network design, path dimensioning, dynamic routing, flow control, and random-access algorithms. Protocols for error control, signaling, addressing, fault management, and security control. Prerequisite: 16:332:543.

16:332:560 Computer Graphics (3)
Computer-display systems, algorithms, and languages for interactive graphics. Vector, curve, and surface-generation algorithms. Hidden-line and hidden-surface elimination. Free-form curve and surface modeling. High-realism image rendering.

16:332:561 Machine Vision (3)
Image processing and pattern recognition. Principles of image understanding. Image formation, boundary detection, region growing, texture, and characterization of shape. Shape from monocular cues, stereo, and motion. Representation and recognition of 3-D structure. Prerequisite: 16:332:501.

16:332:562 Visualization and Advanced Computer Graphics (3)
Advanced visualization techniques, including volume representation, volume rendering, ray tracing, composition, surface representation, and advanced data structures. User interface design, parallel and object-oriented graphic techniques, and advanced modeling techniques. Prerequisite: 16:332:560.

16:332:563 Computer Architecture I (3)
Fundamentals of computer architecture using quantitative and qualitative principles. Instruction set design with examples and measurements of use, basic processor implementation: hardwired logic and microcode, pipelining; hazards and dynamic scheduling, vector processors, memory hierarchy; caching, main memory and virtual memory, input/output, and introduction to parallel processors; SIMD and MIMD organizations.

16:332:569 (F) Database System Engineering (3)
Relational data model, relational database management system, relational query languages, parallel database systems, database computers, and distributed database systems.

16:332:570 Robust Computer Vision (3)
A toolbox of advanced methods for computer vision using robust estimation, clustering, probabilistic techniques, and invariance. Applications include feature extraction, image segmentation, object recognition, and 3-D recovery. Prerequisite: 16:332:561.

16:332:571 Virtual Reality Technology (3)
Introduction to virtual reality; input/output tools; computing architecture; modeling; virtual reality programming; human factors, applications; and future systems. Prerequisite: 16:332:560.

16:332:572 Parallel and Distributed Computing (3)
Advanced topics in parallel computing including current and emerging architectures, programming models application development frameworks, runtime management, load balancing, and scheduling, as well as emerging areas such as autonomic computing, Grid computing, pervasive computing, and sensor-based systems. Prerequisites: 16:332:563, 564, and 566.

17:610:512 Interface Design (3)
Basic principles for designing the user interface in information systems, with special reference to computerized systems.  Major topics include: relationships between users’ models of information systems and the conceptual models presented to them; human cognitive capabilities; evaluation.  This is not a course on Web page design. The course requires a basic understanding of information “systems” and hands-on skills with the use of prototyping tools.

17:610:550 Information Technologies for Libraries and Information Agencies (3)
This course introduces students to key concepts in Web Technologies (xHTML, CSS), Web Programming (JavaScript, PHP, Python) and Data Management (XML, MySQL). Students will also learn how to use and evaluate Web Services, Social Software and Open Source Software tools. The knowledge and skills conveyed in this course will assist students in applying information, web and data technologies in various information services and in further related MLIS courses.
The student is required to have a set of basic computer skills before taking this course. For details on this requirement, please click here.
17:610:540 Information Visualization and Presentation (3)
Design of presentations using texts, graphics, images, sounds. User interpretation, navigation, and interaction with visualizations. Visualization in information retrieval, and interfaces in library and information processes. Effective display and presentation of information in organizational contexts, using various formats, both print and electronic.
17:610:557 Database Design and Management (3)
Relational, object oriented and other database systems as tools for management decision making, for inclusion on the web and for other purposes. Custom designing versus off-the-shelf applications.

17:610:559 Management Information Systems (3)

17:610:581 Social Informatics (3)
Technological innovation, computerization, and electronic information are associated with dilemmas, value conflicts, and choices surrounding the scholarly, personal, and professional use of information. Addresses social relationships, technological utopianism, societal control, vulnerability of information systems, and ethical responsibilities.

17:610:595 Understanding and Building Social Media-An Interdisciplinary Approach (3)
The goal of this project-based course is to merge social science, information science, and computer science approaches to explore the social and technological forces driving the design and use of social media services. Students will form interdisciplinary teams to conceptualize, design, and implement a social media application. Note: It is recommended that 17:610:512 Interface Design be taken prior to or parallel with this course. 

16:920:511 Social Network Analysis (3)