Skip to main content

Computer Information Technology BS

College of Sciences / Computer Science and Cybersecurity
Undergraduate major / Bachelor of Science

About The Program

MN Computer Science Lab

Metro State's Computer Information Technology (CIT) major prepares students to be information technology professionals. This major provides a foundation of both theoretical and practical knowledge in the many aspects of information sciences and technology.

Coursework develops analytical and problem-solving skills and is complemented by hands-on lab work in Metro State's computer labs. A minimum of 20 semester credits of major requirements must be completed at Metro State toward earning a bachelor’s degree in computer information technology.

A bachelor’s degree in computer information technology enables students to become developers, designers, or information technology specialists who can deploy appropriate technology to solve problems in businesses and organizations.

Individuals with strong backgrounds of technical and analytical skills, effective communication abilities, and project development knowledge are in demand as the information needs of the world continue to grow. CIT majors can go on to pursue careers as Web analysts, systems analysts, computer support analysts, database designers and analysts, technical managers, and application programmers.

The computer information technology degree program also provides preparation for graduate studies in information technology, information systems, and business.

Student outcomes

A student graduating with a bachelor’s degree in computer information technology will have the following knowledge and skills:

  • Understand current concepts, best practices and standards, and have the knowledge and ability to apply them in core information technologies such as database systems and e-commerce applications.
  • Apply mathematics and current computing knowledge, techniques, skills, and tools to analyze a problem, determine user needs, develop systems or evaluate available systems, and create an effective project plan.
  • Be able to:
    • program in an object-oriented language, web-related languages (client and server), and SQL.
    • design and implement algorithms and processes and certify a computer-based system, process, component, or program to meet desired needs.
    • take user needs into account in the evaluation, selection, purchase, and administration of computer-based systems.
    • effectively add a solution into an already existing user environment.
  • Recognize the need for and engage in continuing professional development.
  • Function effectively on teams to accomplish a common goal such as gathering user requirements and communicating results orally or in writing.
  • Understand professional, ethical, legal, security, and social issues and responsibilities, and be able to analyze the local and global impact of computing on individuals, organizations, and society.
  • Understand systems (security, operating systems, software engineering) in the design and implementation of web, database, and client/server systems and their utilization of resources

Related minors

How to enroll

Current students: Declare this program

Once you’re admitted as an undergraduate student and have met any further admission requirements your chosen program may have, you may declare a major or declare an optional minor.

Future students: Apply now

Apply to Metropolitan State: Start the journey toward your Computer Information Technology BS now. Learn about the steps to enroll or, if you have questions about what Metropolitan State can offer you, request information, visit campus or chat with an admissions counselor.

Get started on your Computer Information Technology BS

Program eligibility requirements

Students interested in the Computer Information Technology Bachelor of Science degree will be given premajor status when admitted to the university. They will be assigned an academic advisor in the College of Sciences.

For acceptance into the Computer Information Technology major, students must submit an Undergraduate Program Declaration Form when the following conditions are met:

  • have a minimum GPA of 2.5 for ICS 141 and MATH 215 or transfer equivalents;
  • have a grade of C- or higher for all major prerequisites;
  • complete the General Education Goal I Writing Requirement; and
  • demonstrate competency in the Java programming language either by coursework (e.g., ICS 141) or passing a Java competency exam.

Students in premajor status are unable to take any 400-level major courses. Official acceptance into this major program and the review of transfer coursework equivalency and qualifications are done through the Computer Science and Cybersecurity (CSC) Department.

Courses and Requirements

SKIP TO COURSE REQUIREMENTS

Requirements for completing the Computer Information Technology major

  • All newly admitted students will be assigned academic advisors and are placed in pre-major status until they have met the program eligibility requirements. The Undergraduate Program Declaration Form must be submitted for a student to be considered for acceptance into the major.
  • All courses in the major must be completed with a grade of C- or better.
  • At least 16 credits of major requirements must be completed at Metro State University.
  • At least 28 credits of upper-division (i.e., 300-level, or higher) coursework must be completed in the major.
  • Read and understand the guidelines for transfer courses and prerequisites as listed in the General Guidelines section. 

Major Requirements

+ Premajor Foundation (20 credits)

To declare the Computer Information Technology major, students are required to complete the following premajor foundation courses with a grade of C- or higher and a minimum GPA of 2.5 for ICS 141 and MATH 215 or transfer equivalents. For further details, reference the General Guidelines section below.

Choose one of the following two courses.

This course develops the fundamental concepts of algebra with an emphasis on the classification and analysis of linear, quadratic, polynomial, exponential and logarithmic functions. Applications to the natural and social sciences are given throughout. It aims to provide insights into the nature and utility of mathematics, and helps students develop mathematical reasoning skills.

Full course description for College Algebra

This course is designed to prepare students for calculus. Topics include polynomial, rational, exponential, logarithmic, and trigonometric functions; the algebra of functions; multiple function representations; and an introduction to analytic geometry.

Full course description for Precalculus

Choose one of the following two courses.

An introduction to the formulation of problems and developing and implementing solutions for them using a computer. Students analyze user requirements, design algorithms to solve them and translate these designs to computer programs. The course also provides an overview of major areas within the computing field. Topics include algorithm design, performance metrics, programming languages and paradigms, programming structures, number representation, Boolean algebra, computer system organization, data communications and networks, operating systems, compilers and interpreters, cloud computing, data analytics, mobile computing, internet of things, and artificial intelligence) database, internet, security, privacy, ethics, and other societal and legal issues. Lab work and homework assignments involving flow charting tools and programming using a language such as Python form an integral part of the course.

Full course description for Computational Thinking with Programming

This course is designed to provide a fast-paced exposure to the C programming language for students majoring in a computer-related discipline. The following topics are briefly reviewed using C syntax: looping, selection, variables, scope rules, functions and pass-by-value arguments. New topics include pass-by-address arguments, formatted and unformatted I/O, user defined types (enum, struct, union), preprocessing directives, file handling, pointers, pointer arithmetic, string manipulation and selected library functions.

Full course description for C Programming

Complete all of the following three courses.

Structure, design, and implementation of object-oriented computer programs. Topics include sequential structures, selection structures, repetition structures, recursion, quadratic sorting algorithms, exceptions, objects, and classes. Emphasis on methods, parameter passing, arrays, and arrays of objects. Exploration of problem-solving and algorithm-design techniques using pseudocode and Unified Modeling Language (UML). Design of good test cases and debugging techniques are highlighted. Programming projects involving multiple classes.

Full course description for Problem Solving with Programming

This course focuses on how to design and implement information services over the Internet from the client side. The course focuses on both usability and client-side scripting. Topics include the principles, strategies and policies of web page design, including the rules of good interface design, human factors, ethical concerns and information security. Through labs and programming projects, students also learn how to use current scripting and markup languages and how to employ state-of-the-art tools to embed interactive pages into Web-based applications.

Full course description for Web Design and Implementation

+ Core (40 credits)

Once the premajor foundation are complete, students must complete all of the following courses with a grade of C- or higher.

The Capstone course, ICS 499, should be taken in the final semester of your program, or at least during the semester you complete the last of the other required major courses.

Students who haven not declared their major or have not been accepted into the major will not be allowed to take any 400-level major courses. For further details on prerequisites, reference the General Guidelines section below.

This course covers the fundamental concepts of a single user operating system. The topics discussed in the course are the basic concepts of computer organization and architecture, memory management, process handling, disk and file management and control, and peripherals operation. Students also have the opportunities to learn the techniques and procedures of system installation, configuration, administration, and trouble shooting. The operating systems illustrated in the course are MS Windows and/or Mac OS X.

Full course description for Computer and Operating Systems Fundamentals I

This course covers the fundamental concepts of a multi-user operating system. The topics discussed in the course are conventional computer organization and architecture, memory management, process handling, disk and file management and control, and peripherals operation. Students also have the opportunities to learn the techniques and procedures of system installation, configuration, administration, and trouble shooting. The operating systems illustrated in the course are Linux and Unix.

Full course description for Computer and Operating Systems Fundamentals II

This course introduces principles of computer security with integrated hands-on labs. The course prepares students to effectively protect information assets by providing fundamental details about security threats, vulnerabilities, and their countermeasures ranging from a simple computer to enterprise computing. Topics include broad range of today's security challenges, common security threats and countermeasures, security management, access control mechanisms, applied cryptography, privacy issues, computer ethics, file system security, and network security. Overlap: ICS 382 Computer Security

Full course description for Computer Security

Networks are the backbone of information technology operations within an enterprise and are responsible for a significant portion of an organization's security posture. Cybersecurity professionals are often tasked with securing network operations and responding to network threats which demonstrates the importance to networking knowledge in the cybersecurity industry. As a cybersecurity practitioner, it is imperative that there is an understanding of network operations, protocols, and administration practices. This course focuses on developing skills and taking a deep dive into networking protocols including TCP, UDP, ICMP, and IP, network design and architecture, network administration automation, network analysis, and network protocol and design impacts on security and defense measures. Overlap: ICS 383 Networking Protocols and Analysis

Full course description for Networking Protocols and Analysis

This course provides basic introduction to data structures and algorithms and emphasizes the relationship between algorithms and programming. Students will learn intermediate object-oriented design, programming, testing and debugging. Topics include inheritance, polymorphism, algorithm complexity, generic programming, linked list, stack, queue, recursion, trees, hashing, searching, and sorting.

Full course description for Introduction to Data Structures

Covers concepts and methods in the definition, creation and management of databases. Emphasis is placed on usage of appropriate methods and tools to design and implement databases to meet identified business needs. Topics include conceptual, logical and physical database design theories and techniques, such as use of Entity Relationship diagrams, query tools and SQL; responsibilities of data and database administrators; database integrity, security and privacy; and current and emerging trends. Use of database management systems such as MySQL. Coverage of HCI (Human Computer Interaction) topics and development of front ends to databases with application of HCI principles to provide a high level usability experience. Overlap: ICS 311T Database Management Systems.

Full course description for Database Management Systems

The course focuses on how to design and build process, object and event models that are translatable into project specifications and design. Topics include an overview of systems analysis and design; a framework for systems architecture; design and development using data modeling; object modeling, entities, relationships, attributes, scope rules and influences; and event models, messaging and application activation.

Full course description for Software Design Models

Interaction design is an interdisciplinary field integrating theories and methodologies across several disciplines such as computer science, cognitive psychology, technical communication, user experience, human factors, information technology and engineering design. In this course, students are introduced to the theoretical knowledge of and practical experience with concepts of interaction design, design theory and techniques, and implementation and evaluation of interfaces. Topics covered include: interaction design, human-computer interaction, prototyping, usability evaluation, universal design, multimodal interfaces, and virtual reality. In addition to lectures, students will work on individual assignments and team projects to design, implement, and evaluate various interactive systems and user interfaces.

Full course description for Interaction Design for User Experience

Choose one of the following two courses. The other course may be taken as a major elective.

This course focuses on how to design and establish information services over the Internet from the server side. Topics include advanced concepts and issues on Internet architecture, server-side design strategies, current technologies and Internet security. Through labs and programming projects, students learn how to use current scripting and markup languages to build nontrivial state-of-the-art applications.

Full course description for Internet Application Development

This course is a study of scaling client/server applications enterprise-wide. The course examines why ordinary client/server tools do not scale enterprise wide, and examines the extensions necessary in DB linkage, OS extensions, and networking connections necessary for scaling. The MVC II (Model-View-Controller) design pattern and other useful design patterns will be used to explain typical architectural approaches.

Full course description for Client/Server Architectures

+ Electives (8 credits) or Approved Minor

Either eight upper-division credits, or a minor in a field approved by the academic advisor, are required for the Computer Information Technology major.

Electives Option 8 credits

Complete a minimum of eight upper-division credits (i.e, 300-level, or higher) of elective courses. Consult with academic advisor on acceptable electives.

Note the following:

-At least 4 credits of electives must come from upper-division (i.e., 300-level, or higher) ICS courses, not already required for the major, with the following exceptions: ICS 350I, ICS 372, ICS 38*, and ICS 48*.

-The contents of ICS 490 Special Topics in Information and Computer Sciences and ICS 492 Seminar on Emerging Technologies vary from semester to semester and may be taken more than once for elective credits (with permission of the CSC department) as long as they cover different topics.

-Any 300-level or higher CYBR, CFS, MATH, or STAT course may be used as an elective except for internships and seminars.

-A maximum of 4 credits in ICS 350I Individualized Internship spread over 1-3 semesters may be used as elective credits.

Minor Option

Work with your academic advisor to assess if the minor option is appropriate for your degree and career plan. Students with a previous bachelor's degree should talk to their advisor about whether that degree can be used in lieu of a minor. Recommended fields for a minor include (but are not limited to): Industrial and Applied Mathematics, Applied Statistics, Computer Forensics, Cybersecurity, Design of User Experience, Entrepreneurship and Innovation, Management Information Systems, Project Management, and Technical Communication.

+ General Guidelines
Transfer Courses

Transfer coursework equivalency is determined by the Computer Science and Cybersecurity (CSC) department and is initially evaluated upon admission with updates documented on the Degree Audit Report (DARS). When transferring coursework, please be aware that many universities, community, and technical colleges offer courses equivalent to some of our pre-major courses. Sometimes a course at the lower division at another university or college is equivalent to one of our upper-division courses, or an upper-division course at another institution is equivalent to one of our lower-division courses. To calculate upper-division credits for the major electives or for university graduation requirements, the status of the course at the institution where the student took the course is what matters.

Prerequisites

Students must be aware of and abide by prerequisites for all courses for which they are enrolled. No student may be enrolled in a course unless they have completed all course prerequisites with a grade of C- or higher. Students will be administratively dropped from a course if they have not met the required prerequisites. For some courses, prerequisites are enforced automatically by the registration system. If your DARS report shows you have met the prerequisites for a course, and the registration system will not let you register, please contact your academic advisor.