Web and Mobile Computing Bachelor of Science Degree

Close up of a finger touching a mobile phone with a laptop out of focus in the background.

RIT's web and mobile computing degree teaches students a user-centric approach to creating impactful apps, with solid code and good design.

Outcomes Rate of RIT Graduates from this degree

Median First-Year Salary of RIT Graduates from this degree

Overview for Web and Mobile Computing BS

9 Majors That Launch Your Career in Digital Media

The web and mobile computing major combines people and technology to bring out the best in both. In this degree, you will learn how to integrate the back-end code with the front-end user experience across several languages and platforms to impact the app design process at all levels. This will make you highly valuable to employers seeking today’s most skilled application developers.

The degree’s web and mobile computing courses explore ubiquitous application development with a firm focus on the end-user experience.

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, you will learn a user-centric approach to application creation. This, coupled with a robust developer skill set, enables you to produce applications that connect with multiple users across varied environments.

RIT’s Web and Mobile Computing Degree

A defining aspect of the web and mobile computing curriculum is its depth of study. You will learn a wide variety of programming languages and platforms so that you can meet the demands of industry and the public. For example, you won’t just learn about web services, you’ll 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.

Web and Mobile Computing Concentrations

After establishing this strong foundation, you can further your skills by choosing two of the following concentrations in web and mobile computing: web application development, database, mobile application development, wearable and ubiquitous development, and project lifecycle.

Global Opportunities

The web and mobile computing degree is offered at RIT’s main campus in Rochester, NY, and at RIT Croatia, which has campuses in Dubrovnik and Zagreb. Because the same curriculum is offered in all three locations, you may spend a semester studying abroad and immersing yourself in the Croatian culture without any negative impact on your time to graduation. Furthermore, in your fourth year, you’ll complete a senior development project, a year-long course in which teams are composed of students from RIT’s main campus and both RIT Croatia campuses. Whether you choose to study abroad or remain in Rochester, you will be working side-by-side with your peers from across the world.

Furthering Your Degree in Web and Mobile Computing

Today’s careers require advanced degrees grounded in real-world experience. RIT’s Combined Accelerated Bachelor’s/Master’s Degrees enable you to earn both a bachelor’s and a master’s degree in as little as five years of study, all while gaining the valuable hands-on experience that comes from co-ops, internships, research, study abroad, and more.

Three R I T students walking on campus on the left and a variety of differently colored shapes on the right with the words 'Open House' overlayed.

Meet us on campus

Learn about academics, co-op and internships, financial aid, and more.

Careers and Experiential Learning

Typical Job Titles

Application Software Developer Database Developer Full-Stack Software Engineer
Software Developer Software Engineer Systems Development Associate
Mobile App Developer Technology Development Programmer Web Developer

Industries

Automotive Commercial Banking and Credit Internet and Software Health Care Manufacturing

Cooperative Education and Internships

What’s different about an RIT education? It’s the career experience you gain by completing cooperative education and internships with top companies in every single industry. You’ll earn more than a degree. You’ll gain real-world career experience that sets you apart. It’s exposure–early and often–to a variety of professional work environments, career paths, and industries.

Co-ops and internships take your knowledge and turn it into know-how. Your computing co-ops will provide hands-on experience that enables you to apply your computing knowledge in professional settings while you make valuable connections between classwork and real-world applications.

Students in the web and mobile computing degree are required to complete two blocks of cooperative education experience.

Creative Industry Day

RIT’s Office of Career Services and Cooperative Education hosts Creative Industry Day, which connects students majoring in art, design, film and animation, photography, and select computing majors with companies, organizations, creative agencies, design firms, and more. You'll be able to network with company representatives and interview directly for open co-op and permanent employment positions.

Featured Work and Profiles

The Camera that Bleeds video

The Camera that Bleeds

Mark Lipina, Davis Snider, Michal Zadok, Leah Tyler, Victoria Lofaro, Eric Burby, Tae Won Chung, Ryan Welsh, Jacob Irizarry, Arthur Tisseront

A noir mystery-horror game where you solve ghostly mysteries using an instant camera that can see into the supernatural world.

Professor instructing students during a lab

Choosing the Right Major

Picking the right major can be difficult. A survey performed by the Department of Education in 2017 found that close to one third of college students switch their major within three years of.

Curriculum for 2024-2025 for Web and Mobile Computing BS

Web and Mobile Computing, BS degree, typical course sequence

Software Development and Problem Solving I (General Education)

A first course introducing students to the fundamentals of computational problem solving. Students will learn a systematic approach to problem solving, including how to frame a problem in computational terms, how to decompose larger problems into smaller components, how to implement innovative software solutions using a contemporary programming language, how to critically debug their solutions, and how to assess the adequacy of the software solution. Additional topics include an introduction to object-oriented programming and data structures such as arrays and stacks. Students will complete both in-class and out-of-class assignments. Lab 6 (Fall, Spring).

Software Development and Problem Solving II (General Education)

A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. (Prerequisite: C- or better in SWEN-123 or CSEC-123 or GCIS-123 or equivalent course.) Lab 6 (Fall, Spring, Summer).

Web & 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. Lec/Lab 3 (Fall, Spring).

Design for Developers

This is a production-based course that introduces the basic elements, principles, and methods of visual design for digital applications. Students will experiment with design thinking, ideation, and concept development techniques as they explore the computer as an illustrative and image generation tool. Emphasis is on effective visual communication and design skills through digital image creation, graphic organization, and typography for screen-based output. Lecture 3 (Fall, Spring).

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. (Prerequisites: ISTE-120 or ISTE-200 or IGME-101 or IGME-105 or CSCI-140 or CSCI-142 or NACA-161 or NMAD-180 or BIOL-135 or GCIS-123 or GCIS-127 or equivalent course.) Lec/Lab 3 (Fall, Spring).

Web & 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. (Prerequisites: (ISTE-120 or CSCI-140 or CSCI-141 or GCIS-127 or NACA-161 or IGME-105 or IGME-101 or NMAD-180 or GCIS-123) and (ISTE-140 or NACA-172 or IGME-230 or IGME-235) or equivalent course.) Lec/Lab 3 (Fall, Spring).

Discrete Mathematics (General Education – Mathematical Perspective A)

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. (Prerequisites: MATH-101, MATH-111, NMTH-260, NMTH-272 or NMTH-275 or a Math Placement Exam score of at least 35.) Lecture 4 (Fall, Spring).

RIT 365: RIT Connections

RIT 365 students participate in experiential learning opportunities designed to launch them into their career at RIT, support them in making multiple and varied connections across the university, and immerse them in processes of competency development. Students will plan for and reflect on their first-year experiences, receive feedback, and develop a personal plan for future action in order to develop foundational self-awareness and recognize broad-based professional competencies. (This class is restricted to incoming 1st year or global campus students.) Lecture 1 (Fall, Spring).

General Education – Elective General Education – Ethical Perspective General Education – First-Year Writing (WI) School of Information 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. (Prerequisites: This class is restricted to HCC-BS or CMIT-BS or WMC-BS or COMPEX-UND Major students with at least 2nd year standing.) Lecture 1 (Fall, Spring).

Applied Data Structures and Algorithms

This course expands the student’s knowledge base of applying 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. (Prerequisites: ISTE-121 or ISTE-200 or CSCI-142 or CSCI-140 or IGME-106 or CSCI-242 or GCIS-124 or GCIS-127 or equivalent course.) Lec/Lab 3 (Fall, Spring).

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. (Prerequisites: ISTE-240 or IGME-330 or equivalent course.) Lec/Lab 3 (Fall, Spring).

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. (Prerequisite: ISTE-140 or IGME-230 or NACA-172 or equivalent course.) Lec/Lab 3 (Fall, Spring).

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. (Prerequisites: (ISTE-230 or CSCI-320) and (ISTE-120 or GCIS-124 or CSCI-140 or CSCI-142 or CSCI-242 or GCIS-127) or equivalent courses.) Lec/Lab 3 (Fall, Spring).

Client Programming

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. (Prerequisites: (ISTE-240 or IGME-330) and (GCIS-124 or ISTE-121 or ISTE-200 or CSCI-142 or CSCI-140 or IGME-106 or IGME-102 or GCIS-127) or equivalent courses.) Lec/Lab 3 (Fall, Spring).

Undergraduate Co-op (summer)

Students perform paid, professional work related to their program of study. Students work full-time during the term they are registered for co-op. Students must complete a student co-op work report for each term they are registered; students also are evaluated each term by their employer. A satisfactory grade is given for co-op when both a completed student co-op report and a corresponding employer report that indicates satisfactory student performance are received. (Enrollment in this course requires permission from the department offering the course.) CO OP (Fall, Spring, Summer).

Applied Calculus (General Education – Mathematical Perspective B)

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. (Prerequisite: C- or better in MATH-101, MATH-111, MATH-131, NMTH-260, NMTH-272 or NMTH-275 or Math Placement Exam score greater than or equal to 45.) Lecture 4 (Fall, Spring).

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. (Prerequisites:GCIS-124 or ISTE-121 or ISTE-200 or CSCI-142 or CSCI-140 or CSCI-242 or IGME-102 or IGME-106 or GCIS-127 or equivalent course.) Lecture 3 (Fall, Spring).

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. (Prerequisites: ISTE-240 or equivalent course. Co-requisite: ISTE-340 or equivalent course.) Lec/Lab 3 (Fall, Spring).

General Education – Artistic Perspective General Education – Global Perspective Server Programming

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. (Prerequisites: ISTE-340 and (ISTE-230 or CSCI-320) and (SWEN-383 or SWEN-262) or equivalent courses.) Lec/Lab 3 (Fall, Spring).

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. (Prerequisites: ISTE-121 or ISTE-200 or CSCI-142 or CSCI-140 or IGME-106 or CSCI-242 or GCIS-124 or GCIS-127 or equivalent course.) Lec/Lab 3 (Fall, Spring).

Undergraduate Creative, Innovative or Research Experience (summer)

Students may substitute the second block of traditional co-op experience with creative, innovative or research (iSchool CIR) activities as long as it is directly related to the applicant’s degree. Examples include contributing to research projects, supervised participation in entrepreneurial activities, and cross-disciplinary innovation projects not otherwise eligible for co-op. Students will follow a structured application process prior to registering for the course. They will submit a plan of work that outlines the proposed activities, defines tangible goals and deliverables, and identifies a person (faculty member, business contact, etc.) who will provide oversight throughout the term. At the conclusion of the term, students will follow an assessment process similar to that used for traditional co-op as well as (submission of evaluation of responsible oversight party, their daily time and activity logs, the students report and an announced presentation – see iSchool CIR Experience Guidelines on the web at https://ischool.rit.edu/ > Student Resources > Co-op Enrollment for further information). (Prerequisites: ISTE-499 or equivalent course.) CO OP (Fa/sp/su).

Undergraduate Co-op (summer)

Students perform paid, professional work related to their program of study. Students work full-time during the term they are registered for co-op. Students must complete a student co-op work report for each term they are registered; students also are evaluated each term by their employer. A satisfactory grade is given for co-op when both a completed student co-op report and a corresponding employer report that indicates satisfactory student performance are received. (Enrollment in this course requires permission from the department offering the course.) CO OP (Fall, Spring, Summer).

WMC Concentration Courses General Education – Immersion 1 General Education – Social Perspective General Education – Natural Science Inquiry Perspective‡ Open Electives 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. (This course is restricted to WMC-BS, HCC-BS, CMIT-BS, and 2 ISTE-499 completed or (1 ISTE-498 completed and 1 ISTE-499 completed).) Lecture 3 (Fall, Spring).

Senior Development Project II (WI-PR)

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. (Prerequisites: ISTE-500 or equivalent course.) Lecture 3 (Fall, Spring).

WMC Concentration Courses General Education – Immersion 2, 3 General Education – Scientific Principles Perspective Open Elective General Education – Electives

Please see General Education Curriculum (GE) for more information.

(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.

Concentrations

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. (Prerequisites: ISTE-341 or equivalent courses.) Lec/Lab 3 (Fall).

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, including operating system administration and shell scripting. 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. (Prerequisites: ISTE-341 or equivalent course.) Lec/Lab 3 (Spring).

Mobile Application Development

Mobile Application Development I

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. (Prerequisites: (ISTE-252 and ISTE-340) or IGME-330 or equivalent courses.) Lec/Lab 3 (Fall, Spring).

Mobile Application Development II

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 (Prerequisites: (ISTE-252 and ISTE-340) or IGME-330 or equivalent courses.) Lec/Lab 3 (Fall, Spring).

Wearable & Ubiquitous Development

Foundations of Wearable & 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. (Prerequisites: ISTE-341 and ISTE-252 or equivalent courses.) Lec/Lab 3 (Fall).

Advanced Topics in Wearable & 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. (Prerequisites: ISTE-358 or equivalent course.) Lec/Lab 3 (Spring).

Project Life Cycle

Project Management

This course teaches students essential project management principles and prepares them to be effective members of a project team. Topics include business drivers for project selection, project management methodologies, and practical implementation of project management principles across the Information Technology spectrum. (This class is restricted to students with at least 3rd year standing.) Lecture 3 (Spring).

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. (Prerequisites: ISTE-230 or CSCI-320 or equivalent course.) Lecture 3 (Fall, Spring).

Database

Database 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. (Prerequisites: ISTE-330 or equivalent course.) Lec/Lab 3 (Fall, Spring).

Contemporary Databases

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. (Prerequisites: (ISTE-230 or CSCI-320) and ISTE-240 or IGME-330) or equivalent courses.) Lec/Lab 3 (Spring).

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. (Prerequisites: (STAT-145 OR MATH-251) and (GCIS-124 OR ISTE-121 OR CSCI-140 OR CSCI-142 OR CSCI-242 OR ISTE-200 OR IGME-201 OR IGME-106 OR GCIS-127) or equivalent courses.) Lecture 3 (Fall).