Program Overview

Metropolitan State's Computer Application Development (CApp) major provides a foundation of the conceptual and practical knowledge in the various aspects of application design and implementation. Course work to develop analytical and problem-solving skills is complemented by an experiential component. The CApp major enables students to become developers 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. CApp majors can go on to pursue careers as web developers, database application developers, enterprise application developers, and general application programmers.

Program Outcomes

A student graduating from the program will have the ability to:

  1. program in several modern high-level and special-purpose languages (including an object-oriented language, web-related languages (client and server), and SQL) to implement a computer-based system, component, or program to meet desired needs, working either independently or in groups 
  2. use state-of-the art tools and technologies and best programming practices and standards in the development of applications 
  3. use current computing knowledge, techniques, skills, and software tools to analyze a problem, determine and document user needs, create an effective project plan, and document program design and implementation 
  4. effectively add a solution into an already-existing user environment 
  5. assimilate smoothly into professional working environments and conduct themselves professionally 
  6. engage in continuing professional development, including the learning of new general-purpose and special-purpose programming languages independently 
  7. analyze the local and global impact of computing on individuals, organizations, and society. 

More information about this program

Declare Your Program

To be eligible for acceptance to the Computer Application Development major, students must submit a College of Sciences Undergraduate Program Declaration Form when the following is completed:

  • Minimum cumulative GPA of 2.5 for ICS 141 and MATH 215 or transfer equivalents
  • Two writing courses, as defined to meet general education requirements
  • Prerequisite courses (see below) with a grade of C- or better

Students who do not meet the requirements above or are on academic probation will not be accepted to the major. Students not accepted to the major will not be allowed to take advanced courses in the discipline.

Declare Your Program Button

Requirements

Students learn to program in ICS 140 Computational Thinking with Programming and ICS 141 Programming with Objects using Python and Java programming language, and learn client-side web development skills in ICS 225 Web Design and Implementation. Mathematics courses should be taken concurrently. Students should note individual course prerequisites and enroll in the proper sequence of courses. The prerequisite courses should be completed before upper division (300-level) classes are taken in the major.

Transfer credit for prerequisite courses is common, as is demonstrating competency through previous work experience.

Programming skills erode when left unused for long periods of time. As a consequence, programming classes taken more than five years ago will not be applied to meet the requirements for this major.
Since programming ability is crucial for success as an application developer, the ICS Department invites students without recent transcripted credits in programming courses for one-on-one sessions with their advisor to discuss their programming background.

Students may take waiver exams for introductory courses to help determine their appropriate placement in the introductory programming sequence.

Students must do a residency consisting of six-credits of ICS 350I Information and Computer Sciences Individualized Internship. These 6 credits must span either two or three semesters. Fusion IT Residencies are one option to meet the internship requirements for the CApp major.

Lower-Division/Upper-Division Elective Courses 

A student must take a minimum of 20 credits of major electives as part of the CApp major, of which at least 12 must be at the upper division.  All 200, 300, and 400-level ICS courses that are not required for the major may be taken as electives (assuming the student has completed the necessary prerequisites), with the following exceptions:  ICS 381, ICS 390, CFS 499, ICS 499.

A minimum of 20 semester credits of major requirements must be completed at Metropolitan State. At least 24 credits of coursework must be completed at the upper division.

A class used to meet program requirements cannot be used as an elective. 

Courses required for your specific program are listed in the right column on this page. They include prerequisite, foundation, core and elective courses. Contact your advisor with questions concerning your degree plan.

How Admissions Works

We are looking forward to you joining us. Take the first step by filling out this application.
Course List

Prerequisites

Computer Application Development Prerequisites Courses (20 credits)

  • One of the following classes is required:
    • MATH 115 College Algebra
      4 credits

      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.

      Course Outline Class Schedule <<<<<<< HEAD ======= >>>>>>> 35179410ff55d83bece68cc1d84aadaa0fa744b8
    • MATH 120 Precalculus
      4 credits

      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.

      Course Outline Class Schedule <<<<<<< HEAD ======= >>>>>>> 35179410ff55d83bece68cc1d84aadaa0fa744b8
  • MATH 215 Discrete Mathematics
    4 credits

    Using applications to motivate the material, stressing problem-solving techniques, and with meaningful connections to computer science, this course covers systems of linear equations, matrices, combinatorics, probability, logic and mathematical reasoning.

    Course Outline Class Schedule <<<<<<< HEAD ======= >>>>>>> 35179410ff55d83bece68cc1d84aadaa0fa744b8
  • ICS 140 Computational Thinking with Programming
    4 credits

    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.

    Course Outline Class Schedule <<<<<<< HEAD ======= >>>>>>> 35179410ff55d83bece68cc1d84aadaa0fa744b8
  • ICS 141 Programming with Objects
    4 credits

    Structure, design, and implementation of object-oriented computer programs. Topics include objects, classes, GUI, and layout managers. Introduction to containment, inheritance, and polymorphism. Programming projects involving multiple classes. Emphasis on methods, parameter passing, and arrays of objects. Exploration of problem-solving and algorithm-design techniques using pseudocode, Unified Modeling Language (UML) class diagrams, and simple patterns. Design of good test cases and debugging techniques.

    Course Outline Class Schedule <<<<<<< HEAD ======= >>>>>>> 35179410ff55d83bece68cc1d84aadaa0fa744b8
  • ICS 225 Web Design and Implementation
    4 credits

    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.

    Course Outline Class Schedule <<<<<<< HEAD ======= >>>>>>> 35179410ff55d83bece68cc1d84aadaa0fa744b8

Requirements ( 120 total credits)

Computer Application Development Core Courses (14 credits)

  • ICS 251 IT Work Skills
    2 credits

    This course prepares students for effective employment in the IT workplace. Through readings, activities, case studies, and assignments, the student will develop competency with interpersonal skills, teamwork, professionalism, adaptability, flexibility, communication, planning, organizing, entrepreneurial thinking, problem solving and decision-making.

    Course Outline Class Schedule <<<<<<< HEAD ======= >>>>>>> 35179410ff55d83bece68cc1d84aadaa0fa744b8
  • ICS 311 Database Management Systems
    4 credits

    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. Development of GUI front ends to databases with application of HCI principles to provide a high level usability experience. Overlap: ICS 311T Database Management Systems.

    Course Outline Class Schedule <<<<<<< HEAD ======= >>>>>>> 35179410ff55d83bece68cc1d84aadaa0fa744b8
  • One of the following classes is required:
    • ICS 325 Internet Application Development
      4 credits

      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.

      Course Outline Class Schedule <<<<<<< HEAD ======= >>>>>>> 35179410ff55d83bece68cc1d84aadaa0fa744b8
    • ICS 425 Client/Server Architectures
      4 credits

      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.

      Course Outline Class Schedule <<<<<<< HEAD ======= >>>>>>> 35179410ff55d83bece68cc1d84aadaa0fa744b8
  • ICS 370 Software Design Models
    4 credits

    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.

    Course Outline Class Schedule <<<<<<< HEAD ======= >>>>>>> 35179410ff55d83bece68cc1d84aadaa0fa744b8

Computer Application Development Residency Requirement (6 credits)

  • ICS 350I Information and Computer Sciences Individualized Internship
    0 credits

    Students obtain internships in selected areas of study to gain deeper understand of knowledge, skills and the context of a given field. Site supervisors give guidance and direction to customized internship projects. Faculty members serve as liaisons between the internship sites and the university, providing information to students and potential supervisors and supervising the learning experience. Students interested in internships within the Information and Computer Science department should work with their advisor and/or faculty internship coordinator to discuss the process for your specific major.

    Course Outline Class Schedule <<<<<<< HEAD ======= >>>>>>> 35179410ff55d83bece68cc1d84aadaa0fa744b8

Lower-Division/Upper-Division Elective Courses (20 credits)

A student must take a minimum of 20 credits of major electives as part of the CApp major, of which at least 12 must be at the upper division.

All 200, 300, and 400-level ICS courses that are not required for the major may be taken as electives (assuming the student has completed the necessary prerequisites), with the following exceptions: ICS 381, ICS 390, CFS 499, ICS 499.

A minimum of 20 semester credits of major requirements must be completed at Metropolitan State. At least 24 credits of coursework must be completed at the upper division.

A class used to meet program requirements cannot be used as an elective.

  • Please verify that your Course List is separated by ',' (comma) or 'OR'