Creating an impactful app begins with solid code and good design, but understanding user expectations are the cornerstone of that process.
Web and mobile computing explores ubiquitous application development with a firm focus on the end user experience. Students have an interest in the technology of today (and tomorrow), but they’re also interested in how people use that technology. The Web and mobile computing major is about combining people and technology to bring out the best in both.
What truly sets our graduates apart is their ability to see the world through the eyes of the user. Creating an impactful App begins with solid code and good design, but understanding user expectations is the cornerstone of that process. In the Web and mobile computing major, students learn a user-centric approach to application creation. That, coupled with a robust developer skillset, enables them to produce applications that connect with multiple users across varied environments.
The curriculum is structured with this in mind. Students learn how to integrate the back end code with the front end UI, and will be able to do it across several languages and platforms. This comprehensive knowledge enables students to impact the App design process at all levels, making them incredibly valuable to employers seeking today’s application developers. Students can also specialize on one of four areas, which provides students with the knowledge they need to pursue a professional or personal aspiration.
Plan of study
A defining aspect of the web and mobile computing curriculum is the depth of study. Students learn a wide variety of languages and platforms so that they can meet the demands of industry and the public. For example, students don’t just learn about web services, they learn how to use existing web services, how to create different types of web services, and how to do it in a variety of languages. And that’s just part of what they’ll learn in one of their courses (ISTE-341 Server Programming). After establishing this strong foundation, students can further their skills by choosing two of the following concentrations: Web Application Development, Mobile Application Development, Geographic Information Systems, and Wearable and Ubiquitous Development.
The major requires students to complete two blocks of cooperative education. Students may begin their co-op requirement after completing their second year of study.
More than 30 members of the RIT community are attending the Grace Hopper Celebration, the world’s largest gathering of women in computing to celebrate accomplishments in technology and recognize the diversity behind them.
Husband-and-wife entrepreneurs and RIT graduates Steve and Melanie Shapiro are celebrating the success of their third start-up, Token, an identity technology company that manufactures a biometric, encrypted ring with a fingerprint sensor with two-factor authentication.
Web and mobile computing, BS degree, typical course sequence
Sem. Cr. Hrs.
Computational Problem Solving in the Information Domain I
A first course in using the object-oriented approach to solve problems in the information domain. Students will learn to design software solutions using the object-oriented approach, to visually model systems using UML, to implement software solutions using a contemporary programming language, and to test these software solutions. Additional topics include thinking in object-oriented terms, and problem definition. Programming projects will be required.
LAS Perspective 7A (mathematical): Discrete Mathematics
This course is an introduction to the topics of discrete mathematics, including number systems, sets and logic, relations, combinatorial methods, graph theory, regular sets, vectors, and matrices.
Computer Problem Solving: Information Domain II
A second course in using the object-oriented approach to solving problems in the information domain. Students will learn: basic design principles and guidelines for developing graphical user interfaces, and use of the Event Model to implement graphical interfaces; algorithms for processing data structures; multithreading concepts and use of the Multithreading Model to design and implement advanced processing methods. Additional topics include the relational model of information organization, and the Client-Server model. Individual implementation projects are required. A team implementation exercise is used to provide students an opportunity to apply basic software development and project management practices in the context of a medium-scale project.
Web and Mobile I
This course provides students with an introduction to internet and web technologies, and to development on Macintosh/UNIX computer platforms. Topics include HTML and CSS, CSS3 features, digital images, web page design and website publishing. Emphasis is placed on fundamentals, concepts and standards. Additional topics include the user experience, mobile design issues, and copyright/intellectual property considerations. Exercises and projects are required.
Web and Mobile II
This course builds on the basics of web page development that are presented in Web and Mobile I and extends that knowledge to focus on theories, issues, and technologies related to the design and development of web sites. An overview of web design concepts, including usability, accessibility, information architecture, and graphic design in the context of the web will be covered. Introduction to web site technologies, including HTTP, web client and server programming, and dynamic page generation from a database also will be explored. Development exercises are required.
Introduction to Database and Data Modeling
A presentation of the fundamental concepts and theories used in organizing and structuring data. Coverage includes the data modeling process, basic relational model, normalization theory, relational algebra, and mapping a data model into a database schema. Structured Query Language is used to illustrate the translation of a data model to physical data organization. Modeling and programming assignments will be required. Note: students should have one course in object-oriented programming.
New Media Design Digital Survey I
This project-based course is an investigation of the computer as an illustrative, imaging, and graphical generation tool. It develops foundational design skills in raster and vector image creation, editing, compositing, layout and visual design for online production. Emphasis will be on the application of visual design organization methods and principles for electronic media. Students will create and edit images, graphics, layouts and typography to form effective design solutions for online delivery.
The Year One class serves as an interdisciplinary catalyst for first-year students to access campus resources, services and opportunities that promote self-knowledge, personal success, leadership development, social responsibility and life academic skills awareness and application. Year One is also designed to challenge and encourage first-year students to get to know one another, build relationships and help them become an integral part of the campus community.
First Year LAS Elective
LAS Perspective 1 (ethical)
First Year Writing
LAS Perspective 7B (mathematical): Applied Calculus
This course is an introduction to the study of differential and integral calculus, including the study of functions and graphs, limits, continuity, the derivative, derivative formulas, applications of derivatives, the definite integral, the fundamental theorem of calculus, basic techniques of integral approximation, exponential and logarithmic functions, basic techniques of integration, an introduction to differential equations, and geometric series. Applications in business, management sciences, and life sciences will be included with an emphasis on manipulative skills.
Designing the User Experience
The user experience is an important design element in the development of interactive systems. This course presents the foundations of user-centered design principles within the context of human-computer interaction (HCI). Students will explore and practice HCI methods that span the development lifecycle from requirements analysis and creating the product/service vision through system prototyping and usability testing. Leading edge interface technologies are examined. Group-based exercises and design projects are required.
Database Connectivity and Access
In this course, students will build applications that interact with databases. Through programming exercises, students will work with multiple databases and programmatically invoke the advanced database processing operations that are integral to contemporary computing applications. Topics include the database drivers, the data layer, connectivity operations, security and integrity, and controlling database access.
Computer Problem Solving: Information Domain III
The third course in the programming sequence expanding the student’s knowledge base of higher level programming concepts including data structures, algorithm development and analysis, Big-O notation, directed graphs, priority queues, performance, and a greater understanding of how complex software can more easily be designed. Programming assignments are required.
Software Design Principles and Patterns
Quality software designs and architectures reflect software engineering principles that represent best contemporary practice. This course focuses on explicating these fundamental principles, examining a set of design and architecture patterns that embody the principles, and applying patterns appropriate to a design problem in a given context. Restricted to IST majors only.
Foundations of Mobile Design
This course is an introduction to designing, prototyping, and creating applications and web applications for mobile devices. These devices include a unique set of hardware and communications capabilities, incorporate novel interfaces, are location aware, and provide persistent connectivity. Topics covered include user interaction patterns, connectivity, interface design, software design patterns, and application architectures. Programming projects are required.
This course will explore the analysis, design, development, and implementation of client-side programming in the context of Internet technologies, mobile devices, Web-based client systems and desktop applications. Students will learn to design and build usable and effective interactive systems, clients, and interfaces. Key features addressed will include browser and platform compatibility, object reusability, bandwidth and communications issues, development environments, privacy and security, and related technologies and APIs. Programming is required.
Networking Essentials for Developers
This is a course in the basics of network communication for software developers. Topics will include the OSI 7-layer model and its realization in the TCP/IP protocol stack. Students will also learn about naming and name resolution as it is used in the internet, plus the basics of routing and switching. The focus in all of this will be on an analysis of how name resolution, routing and switching operate at the developer's perspective. The specifics of how the socket transport layer appears to the programmer and operates will be a key topic. Finally, an overview of authentication mechanisms and number of examples of the security vulnerabilities of existing communication protocols will be provided to instruct students on the inherent risks of communication via the INTERNET.
Second Year Seminar
This course helps students prepare for cooperative employment by developing job search approaches and material. Students will explore current and emerging aspects of IST fields to help focus their skill development strategies. Students are introduced to the Office of Career Services and Cooperative Education, and learn about their professional and ethical responsibilities for their co-op and subsequent professional experiences. Students will work collaboratively to build résumés, cover letters, and prepare for interviewing.
LAS Perspective 2 (artistic)
LAS Perspective 3 (global)
Cooperative Education (summer)
This course provides in-depth work in server-side programming. Students will develop dynamic, data centric web pages and systems, and server-side information services that will be available to clients implemented in a variety of software technologies. Topics include XML parsing, generation, and consumption; web configuration and security; design patterns; web service structures, and application security. Programming projects are required.
Application Development Practices
In this course, students will gain experience with the processes, practices, and tools professional developers use to deliver robust and maintainable applications. Students will apply these practices and tools to build smaller-scale production-quality applications and systems. Topics include development life cycles, version control, test bed development and use, build utilities, error handling, deployment tools, and documentation.
WMC Concentration Courses
LAS Immersion 1
LAS Perspective 4 (social)
LAS Perspective 5‡ (natural science inquiry)
Cooperative Education (summer)
Senior Development Project I
The first course in a two-course, senior level, system development capstone project. Students form project teams and work with sponsors to define system requirements. Teams then create architectures and designs, and depending on the project, also may begin software development. Requirements elicitation and development practices introduced in prior coursework are reviewed, and additional methods and processes are introduced. Student teams are given considerable latitude in how they organize and conduct project work.
Senior Development Project II (WI)
The second course in a two-course, senior level, system development capstone project. Student teams complete development of their system project and package the software and documentation for deployment. Usability testing practices introduced in prior course work are reviewed, and additional methods and processes are introduced. Teams present their developed system and discuss lessons learned at the completion of the course.
WMC Concentration Courses
LAS Immersion 2, 3
LAS Perspective 6 (scientific principles)
Total Semester Credit Hours
(WI) Refers to a writing intensive course within the major.
* Please see Wellness Education Requirement for more information. Students completing bachelor's degrees are required to complete two different Wellness courses.
‡ Students satisfy this requirement by taking either a 3 or 4 credit hour lab science course. If a science course consists of separate lecture and laboratory sections, students must take both the lecture and the lab portions to fulfill the requirement.
§ Students satisfy this requirement by selecting one of the following four credit options: General Biology (BIOL-101) and General Biology Lab (BIOL-103); General and Analytical Chemistry (CHMG-141) and General and Analytical Chemistry (CHMG-145); or College Physics (PHYS-111).
Web Application Development
Secure Web Application Development
When building larger-scale web applications, there are a myriad of concerns that range from technology, security, framework, and architecture selection to runtime performance optimization. This course focuses on the development of secure integrated web applications that consume information served from one or many sources. Trends in web application development are identified and assessed. Programming projects are required.
Web Server Development and Administration
Web developers often need to go beyond building web pages and client-server programming to plan, install, configure, develop, and maintain the Web servers that host their sites. They need to understand issues of scalability, performance, and security as they apply to deploying a web presence. This course provides a practical hands-on approach to development, configuration, and administration of web server platforms. Topics include issues of and approaches to scalability, multiple server systems, security, and auditing, as well as the many configuration options, modules, and server alternatives available.
Mobile Application Development
Mobile Application Development l
This course extends the material covered in the Foundations of Mobile Design course and provides students with the experience of creating interesting applications for small-size form factor mobile devices such as smartphones These devices are exceptionally portable, have unique sets of hardware and communications capabilities, incorporate novel interfaces, are location aware, and provide persistent connectivity. Students are encouraged to make creative use of these unique device characteristics and operating properties to develop innovative applications. Programming projects are required.
Mobile Application Development ll
This course extends the Foundations of Mobile Design course in that students will learn to apply mobile design skills to develop applications in the Android platform. Students will design, develop, and test mobile applications using the Android Studio IDE. This course covers the major components such as activities, receivers, content providers, permissions, intents, fragments, data storage, and security. Programming projects are required
Wearable and Ubiquitous Development
Foundations of Wearable and Ubiquitous Computing
Wearable technologies, like smart watches, and ubiquitous computing technologies, including the Internet of Things, are entering the mainstream. In this introductory course, students will learn the history of research in these areas and fundamentals of developing for these devices, including interface design, networking, physical form factors; societal issues such as privacy will also be discussed. This class is primarily project-based.
Advanced Topics in Wearable and Ubiquitous Computing
This course is a sequel to ISTE-358, Foundations of Wearable and Ubiquitous Computing. In this advanced course, students will further their understanding of these technologies and what they can do. A major emphasis will be on context and activity recognition; for example, automatically understanding what a person is doing or whom they are with. This class is primarily project-based.
Project Life Cycle
This course teaches the student the essential project management basics needed by CIT and WMC majors. Exposure to project lifecycles and a sampling of PM best practices will be covered.
Information Requirements Modeling
Students will survey and apply contemporary techniques used in analyzing and modeling information requirements. Requirements will be elicited in a variety of domains and abstracted at conceptual, logical, and physical levels of detail. Process, data, and state modeling will be applied in projects that follow a systems development lifecycle. Object-oriented modeling will be explored and contrasted with data and process oriented modeling. Individual and team modeling assignments will be required.
Choose two of the following:
Secure Web Application Development
Database applications have aspects that need to be considered when designing and developing larger-scale systems. In this course students will explore topics such as concurrent processing, scalability, performance, and security within the context of developing larger-scale data/base information processing systems. Programming projects are required.
Web Server Development and Administration
This course will introduce the topic of contemporary databases by covering the design, application and use of non-relational (NoSQL) database technologies. Topics include an overview of data types, structuring and processing data and knowledge, data transformation, and data storage and warehousing. Students will learn the interaction between relational and non-relational databases in the Cloud or other storage media. Programming assignments will be required.
Data Mining and Exploration
Rapidly expanding volumes of data from all areas of society are becoming available in digital form. High value information and knowledge is embedded in many of these data volumes. Unlocking this information can provide many benefits, and may also raise ethical questions in certain circumstances. This course provides students with a hands-on introduction to how interactive data exploration and data mining software can be used for data-driven knowledge discovery, including domains such as business, environmental management, healthcare, finance, and transportation. Data mining techniques and their application to large data sets will be discussed in detail, including classification, clustering, association rule mining, and anomaly detection. In addition, students will learn the importance of applying data visualization practices to facilitate exploratory data analysis.
For all bachelor’s degree programs, a strong performance in a college preparatory program is expected. Generally, this includes 4 years of English, 3-4 years of mathematics, 2-3 years of science, and 3 years of social studies and/or history.
Specific math and science requirements and other recommendations
3 years of math are required and pre-calculus is recommended
Requires chemistry or physics and strongly recommends both.
Computing electives are recommended
Transfer course recommendations without associate degree
Courses in computer science, calculus, liberal arts; calculus-based physics, chemistry, or biology
Appropriate associate degree programs for transfer
AS degree in computer science, engineering science, or liberal arts
The web and mobile computing degree is offered at RIT's main campus, in Rochester, NY, and at RIT Croatia's campuses in Dubrovnik and Zagreb. Because the same curriculum is offered in all three locations, students may spend a semester abroad learning about the Croatian culture without any negative impact to their schedule of studies. Furthermore, in their senior year all students take Senior Development Project I,II (ISTE-500, 501), a year-long course in which teams are composed of students from RIT's main campus and both RIT Croatia campuses. Whether students choose to study abroad or remain in Rochester, they will be working side-by-side with their peers from across the world.