You’re a junior in high school, trying to figure out what you want to study in college.  You check out the link to Fair Go casino login, and you see the a huge selection of online games.  There are online poker games, online blackjack games, online roulette games, and online craps games.  Now you know what you want to study. You want to create online games, but where should you go to study for this career choice?

Do you really want to spend the next 4 years going to MIT where you will learn the theory of computer science and how to develop the next great operating system?  How is that going to help you reach your goal of becoming a game developer, a web developer, or a mobile app developer? In reality, it is not, but there are other choices.

RIT takes a different approach to teach computer science students.  RIT is not a trade school that will just teach you the mechanics of a programming language.  RIT is not a theory school. RIT’s approach does a combination of the two by merging together theory with technical training, and on top of that, an RIT students graduate with 1 year of real-life co-op experience.

RIT, Rochester Institute of Technology, located in Rochester, NY (upstate NY) provides a unique educational experience.  Most of the science and technology majors are 5-year programs instead of 4 years, with 1 year being dedicated to co-op/internship.  Starting in year 3, students alternate between one semester at RIT and one semester working until they graduate. So by the time the student graduates, the student has a 4-year degree + 1 year of on-the-job work experience in a real company.

30 years ago, when a person wanted to study Computer Science at RIT, there was only one major – “Computer Science”.  At that time, a student could do a computer science concentration in software engineering, parallel programming, networking, or computer graphics.

But times have changed, and degrees have changed.  Google was created in 1998. Yahoo was created in 1995.  iOS was created in 2007, and Android was created in 2008.  I graduated from RIT in 1994 when the internet was still in its infancy for the general public.  Just as the internet has grown, so has the availability of specialized computer science degrees.

Review of RIT’s Game Design and Development BS Degree Program

As you can probably guess, this major is designed to prepare students to be developers for the gaming industry.  Since gaming involves graphics, as one would expect, a lot of graphics related programming courses are included in the curriculum:

  1. Introduction to Interactive Media
  2. 2D Animation and Asset production
  3. Interactive Media Development
  4. 3D Animation and Asset Production
  5. Interaction, Immersion, and Media Interface
  6. Rich Media Application Development

These are not just about how to create a graphic, but they also talk about the physics of the graphics.  How to get graphical objects in a game to interact in the same fashion as they would interact in the real world.

But what is most interesting about this major is that even the general computer science courses that every computer science student is expected to take, Algorithms, Problem Solving, Data Structures, and object-oriented programming are all geared towards game development.

  1. Game Development and Algorithmic Problem Solving I and II (Old Computer Science: Algorithms and problem solving)
  2. Data Structures and Algorithms for Game and Simulations I and II (Old computer science: Data Structures and Data Storage)
  3. Game Design and Development I and II (Old computer science: called different names, but students developed a large project working with a team)
  4. Introduction to Web Technology for Game Developers (new)

As you can see, the core foundations are still there.  The courses are just given different names, and the projects are specialized for the gaming industry.

A lot of courses that were required for all computer science majors, but are not needed by game developers were taken out, including, Assembly language programming, Programming Language Concepts (understanding different types of programming languages), and networking concepts (to name just a few).

Review of RIT’s Web and Mobile Computing BS Degree Program

Although many games are created for playing on the web and mobile devices, this major does not focus on all of the graphics and how assets interact with each other, which is taught in the Game Design and Development major.

A Web and Mobile developer is responsible for getting three major parts of a software project to all work together.  There is the front-end of the project, the part of the application that the client interacts with. There is the back-end of the project, which is the grunt work that is done on the server where a website is hosted, and finally, there is the database that stores the data that the user reads and/or creates.

Some developers specialize in front end development.  Some developers specialize in back-end development. While other developers specialize in database development.  In this specific major, students are given the knowledge to develop in all three areas. Those developers are known as full-stack developers.

These are the general computer science programming courses in the major that have been specialized for this major:

  • Computational Problem Solving in the Information Domain I and II
  • Web and Mobile Development I and II

Database development:

  • Introduction to Database and Data modeling
  • Database connectivity and access

Working with media files:

  • New Media Design and Digital Survey I and II

Software Engineering Concepts:

  • Foundations of Mobile Design
  • Designing the user experience
  • Software design principals and patterns
  • Application Development Practices (large group project)

Client Side Development or front-end development:

  • Client Programming


  • Networking Essentials for Developers

Server Side Developement or back-end development:

  • Server Side Development


When I went to RIT, many years ago, this is how the teachers described RIT compared to other Computer Science programs.  In a school like, MIT, the curriculum is focused on theory. In a trade school, the student is taught how to create something in a specific programming language, but they do not learn the theory behind it.

At RIT, the curriculum is designed to be a combination of theory and application of that theory.  Even from 20 years ago, programming languages change, but the underlying theoretical concepts do not change.  A database is a database. A stack is a stack. A queue is a queue. Programming languages change. The details of programming libraries change.  But the underlying theory has not changed.

Plus, the co-op program is invaluable.  There is always going to be a difference between what is taught in a classroom and how that theory is implemented in a real-life company.  That is something that cannot be taught. It has to be experienced, and to get that experience and then be able to return to school to talk about those experiences with your professors is invaluable.

Not to mention the fact that nobody wants to spend $65k per year ($260k for the degree) to find out “oops, I do not like that major”.  Co-op education lets you try out your career choice while you still have time to make adjustments in your educational plan.

If you are an employer that is interested in hiring an RIT Co-op student or an RIT recent graduate, you can contact the RIT Office of Career Services and Cooperative Education to get more details and to place your job ad.