Implement complex computing systems and become well versed in their management.
Information technology is found in every aspect of our lives: the workplace, our homes, the way we communicate, and in much of the entertainment we consume. IT professionals, therefore, are in great demand and highly valued. IT professionals are solution architects, identifying complex problems and creating custom solutions that help users meet their goals. They play an integral role in any modern organization, working on all phases of IT solutions from conception to development, testing, deployment, securing, and management. In this information technology degree, you’ll learn to design, implement, and manage complex IT systems.
Students in the computing and information technologies major are characterized by their hands-on approach to technology. They are designers and builders, but primarily they’re enablers. Students approach complex problems and create custom solutions that help users meet their goals. They play an integral role in any modern organization, often working behind the scenes to deploy technology where it’s needed most.
That versatility is the core principle of our major. People are interacting with computers more than ever before. With that comes a need for professionals that have the broad practical skills to facilitate those interactions across a variety of sectors. Not only do computing and information technology students learn to implement complex systems, but they become well versed in their management as well. Every day, more companies are realizing the benefits that IT professionals bring to the table.
Plan of study
A defining aspect of the computing and information technologies curriculum is the breadth of technologies and the focus on integration. Students learn how to solve problems and find ways to make it work. Course work prepares students to be not just technical wizards, but also communicators and facilitators, enabling them to be successful throughout their career. Building on the core courses, students can further their skills in two separate areas or establish even greater depth in a single area. Possible areas of concentration include web administration, database, networking and communications, web development, and enterprise administration.
The major requires students to complete two blocks of cooperative education. Students may pursue co-op placements after completing their second year of study.
RIT’s Golisano College of Computing and Information Sciences is forming a new School of Information to recognize the changing roles of information professionals. The school aims to bridge the digital divide and make computing solutions available, accessible, usable and suitable to all.
A team of Hearthstone players represented RIT and joined 20 other top colleges at the first-ever ESPN Collegiate Esports Championship. RIT became one of the top four teams in the country and the three RIT student players received $7,500 in tuition scholarships.
A team of RIT students has become one of the best collegiate Hearthstone teams in the nation, making it to the ESPN Collegiate Esports Championship May 10-12 in Houston. RIT beat out nearly 500 other collegiate Hearthstone teams to get to the first-ever ESPN esports event.
Computing and information technologies, BS degree, typical course sequence
Sem. Cr. Hrs.
Introduction to Technical Communication
This course introduces students to current best practices in written and visual technical communication including writing effective email, short and long technical reports and presentations, developing instructional material, and learning the principles and practices of ethical technical communication. Course activities focus on engineering and scientific technical documents.
Information Assurance and Security
Computer-based information processing is a foundation of contemporary society. As such, the protection of digital information, and the protection of systems that process this information has become a strategic priority for both the public and private sectors. This course provides an overview of information assurance and security concepts, practices, and trends. Topics include computing and networking infrastructures, risk, threats and vulnerabilities, legal and industry requirements for protecting information, access control models, encryption, critical national infrastructure, industrial espionage, enterprise backup, recovery, and business continuity, personal system security, and current trends and futures.
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.
Computational Problem Solving in the 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.
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.
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.
Computer System Concpets
This course teaches the student the essential technologies needed by NSSA majors, focused on PC and mainframe hardware topics. They include how those platforms operate, how they are configured, and the operation of their major internal components. Also covered are the basic operating system interactions with those platforms, physical security of assets, and computing-centric mathematical concepts.
RIT 365: RIT Connections
First Year Writing
LAS Perspective 1 (ethical)
LAS Perspective 3 (global)
IST Second Year Seminar
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.
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.
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.
Task Automation Using Interpretive Languages
An introduction to the Unix operating system and scripting in the Perl and Unix shell languages. The course will cover basic user-level commands to the Unix operating system, followed by basic control structures, and data structures in Perl. Examples will include GUI programming, and interfacing to an underlying operating system. Following Perl, students will be introduced to the basics of shell programming using the Unix bash shell. Students will need one year of programming in an object-oriented language.
System Administration I
This course is designed to give students an understanding of the role of the system administrator in large organizations. This will be accomplished through a discussion of many of the tasks and tools of system administration. Students will participate in both a lecture section and a separate lab section. The technologies discussed in this class include: operating systems, system security, and service deployment strategies.
Introduction to Routing and Switching
This course provides an introduction to wired network infrastructures, topologies, technologies, and the protocols required for effective end-to-end communication. Basic security concepts for TCP/IP based technologies are introduced. Networking layers 1, 2, and 3 are examined in-depth using the International Standards Organization’s Open Systems Interconnection and TCP/IP models as reference. Course topics focus on the TCP/IP protocol suite, the Ethernet LAN protocol, switching technology, and routed and routing protocols common in TCP/IP networks. The lab assignments mirror the lecture content , providing an experiential learning component for each topic covered.
Introduction to Statistics I
This course introduces statistical methods of extracting meaning from data, and basic inferential statistics. Topics covered include data and data integrity, exploratory data analysis, data visualization, numeric summary measures, the normal distribution, sampling distributions, confidence intervals, and hypothesis testing. The emphasis of the course is on statistical thinking rather than computation. Statistical software is used.
LAS Perspective 2 (artistic)
LAS Perspective 5 (natural science inquiry)
Cooperative Education (summer)
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.
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.
CIT Concentration Courses
LAS Perspective 4 (social)
LAS Perspective 6 (scientific principles)
LAS Immersion 1
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
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.
CIT Concentration Courses
LAS Immersion 2, 3
Total Semester Credit Hours
Please see General Education Curriculum-Liberal Arts and Sciences (LAS) 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.
Choose three of the following:
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.
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.
This course covers the purpose, scope, capabilities, and processes used in data warehousing technologies for the management and analysis of data. Students will be introduced to the theory of data warehousing, dimensional data modeling, the extract/transform/load process, warehouse implementation, and summary-data management. The basics of data mining and importance of data security will also be discussed. Hands-on exercises include implementing a small-scale data warehouse.
Database Management and Access
Students will be introduced to issues in client/server database implementation and administration. Students will configure, test, and establish client-server communication and server-server communication with single and multiple database servers. Topics such as schema implementation, storage allocation and management, user creation and access security, backup and recovery, and performance measurement and enhancement will be presented in lecture and experienced in a laboratory environment. Students will configure and demonstrate successful communication between a database file server and multiple clients.
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.
This course teaches students advanced techniques in the Perl language. Techniques include the use and construction of object oriented scripts, user administration and monitoring, file system walking and checking, and computer and network security issues.
Systems Administration II
This course will explore the skills required of a systems administrator in a large enterprise organization. Students will gain experience in managing an integrated Linux and Windows environment, using identity management, monitoring, and centralized logging systems. Other areas of examination will include a deeper understanding of many protocols including DNS, DHCP, SNMP, LDAP, IMAP, and SMTP. Containerization and virtualization concepts will also be explored. The student will also study security topics including Transport Layer Security, Pluggable Authentication Modules, SELinux, Kerberos, and Group Policy Objects. This course is a writing-intensive course that will require students to write a formal research paper.
Choose one of the following:
This class will take the students through the evolution of virtualization. The class begins with virtual network topologies such as VLANs, trunks and virtual routing and forwarding. The class will examine the various desktop virtualization platforms (Type 1) such as VirtualBox and VMWare workstation. Midway through the class students will transition into bare metal hypervisors (Type 2) and server virtualization. Elements of software defined networking, storage (ex. iSCSI) and cloud computing will also be discussed.
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.
This course provides students with a theoretical as well as hands-on exposure to enterprise scale storage technologies such as storage area networks and network attached storage. Students will study SCSI, Fibre Chanel, IP Storage, Infiniband, and Fibre Channel over Ethernet both in lectures and labs. They will also gain a better appreciation for the importance of storage architectures in the enterprise.
Scalable Computing Architectures
This course explores mid-range (server farms and clusters) and mainframe system architecture, hardware, configuration, and operating system concepts. Students in this course gain understanding of the reasons companies choose mid-range and large-scale systems for their computing environments and how those firms implement those architectures.
Data Center Operations
This course provides students with a background in the technologies and techniques used to design, implement, and maintain a modern data center. This course will help students to see the interrelated nature of many of these topics and to gain a better understanding of the role of the following technologies in a modern data center: physical facility design, network infrastructures, power distribution, heating, ventilation and air conditioning (HVAC), storage, high-availability computing, disaster recovery, and emerging data center technologies.
Scalable Web Services Architectures
Web applications can be highly variable in both their workload and the amount of resources required to support their provision of services to users. Having access to cloud based resources allows organizations to actively manage service deployment in different ways and with different tools. This course will enable students to utilize and develop cloud-based implementations of tools, such as load balancing and distributed systems architectures, and identify the challenges associated with the provision of services in this environment and some of the cloud-based tools and techniques used to manage service deployment. Projects will be required.
Networking and Communications
This course will investigate the protocols used to support network based services and the tasks involved in configuring and administering those services in virtualized Linux and Windows internet working environments. Topics include an overview of the TCP/IP protocol suite, in-depth discussions of the transport layer protocols, TCP and UDP, administration of network based services including the Dynamic Host Configuration Protocol (DHCP), Domain Name Service (DNS), Secure Shell (SSH), and Voice Over IP (VoIP). Students completing this course will have thorough theoretical knowledge of the Internet Protocol (IP), the Transport Control Protocol (TCP), and the User Datagram Protocol (UDP), as well as experience in administering, monitoring, securing and troubleshooting an internet work of computer systems running these protocols and services.
Choose two of the following:
This course is designed to provide the student with an understanding of the protocols, principles and concepts of radio communication as they apply to wireless data networking (802.11) for local area networks and peripherals. As its basis it uses the fundamental concepts and technologies learned in Introduction to Routing and Switching, and expands upon them to include other contemporary and emerging technologies. Topics including WLANs, wireless network operation, network integration, construction and network design will be discussed. Modulation techniques, measurement standards, nomenclature, equipment and theory behind transmissions in this portion of the electromagnetic spectrum will be examined.
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.
Advanced Routing and Switching
Advanced Routing and Switching covers advanced networking technologies available to enterprises. Protocol options and their evolutions over the years, the growth in complexity and its impacts are explored in depth. Topics include: VLANs and VLAN Hierarchies, Loop- Avoidance in customer, provider and provider backbone networks such as RSTP and Shortest Path Bridging, , IPv4 and IPv6 coexistence issues, Routing protocols with IPv4 and IPv6 for inter and intra-AS routing, MobileIP, queuing and Quality of service routing and congestion control in the Internet, MultiProtocol Label Switching, Routing and Switching in wireless networks
Network Design and Performance
This course will examine the design and performance of networks. Students will learn to design networks based on identified needs and analyze the performance of that network. The designs include site, campus, and enterprise. WAN technologies will be combined with LAN technologies in the design of enterprise networks. A simulation tool may be used to implement the design as a network model and evaluate the performance of the network model.
Mobile Adhoc and Sensor Networks
This course will help students to identify the major challenges in deploying mobile adhoc and sensor networks. Students will explore current ad-hoc/sensor technologies by researching key areas such as algorithms, protocols and applications. Students will learn to investigate how some of the challenges are addressed by researching publications. At the end of this course students will gain knowledge on the latest technological advances in wireless ad hoc and sensor networks, their significance in multiple applications and solutions to challenges that still require to be addressed.
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.
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.
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.
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 computing and information technologies 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.