1. Professional Communication and Development

CST 300: Major ProSeminar

Plan and assess personal career options and develop communication skills.

  • Acquire, analyze and use information about the range of career possibilities, industry trends in computer science and information technology and its related fields to make career planning decisions.
  • Use critical thinking skills to plan and assess personal career and further study goals and design educational experiences directed to those goals.
  • Use written and oral communication to deliver persuasive viewpoint and technology content to multiple audiences.
  • Acquire, analyze and use information about computer sciences and information technology to describe and speculate on the impact of digital communications technology on local and global communities.

Final Paper - Fight or Flight: On the Ethics of an Autonomous Weapons Ban

Presentation - Open Source Software

2. Knowledge of Computers and Networks

CST 237: Computer Architecture

Demonstrate an understanding of the fundamentals of computer architecture, operating systems and networks.

  • Describe the history of computers and computing.
  • Explain how a computer represents and transmits information, how a computer's parts and components are organized and interfaced, basic components of an operating system and basic components of local area networks and wide area networks.
  • Analyze and design simple circuits using digital electronics and logic gates.
  • Describe the structure and organization of a modern microprocessor, and the sequence of operations in a typical instruction execution.
  • Demonstrate a basic understanding of Assembly Language programming.

3. Programming and Problem Solving

CST 231: Problem Solving and Programming C++

CST 238: Introduction to Data Structures

Analyze and solve problems using a programming language.

  • Demonstrate the ability to develop algorithms and computer programs to solve problems by systematically decomposing a complex programming problem into manageable, well-documented steps that results in a design for the problem solution.
  • Demonstrate that the program compiles and executes correctly for a given set of data.
  • Demonstrate programming competency in a variety of programming structures, including arithmetic operations, control structures and loops, input/output operations including file I/O, the use of function calls, and the use of arrays and other storage types.
  • Debug a program using appropriate debugging strategies.
  • Produce a complete set of documentation for a program.

4. Mathematics for Computing

MATH 170: Discrete Math

MATH 150: Calculus I

MATH 151: Calculus II

CST 370: Design & Analysis of Algorithms

Use mathematical concepts and constructs to express ideas and solve problems in computer science, and to communicate quantitative information.

  • Use mathematical ideas to solve problems in Computer Science and Information Technology.
  • Use mathematical thinking and models, charts, graphs, tables, figures, equations, and appropriate technologies to express ideas and concepts.
  • Demonstrate an understanding of discrete mathematical concepts used in computing: Articulate and apply the concepts of binary numbers, combinatorics, logic, truth tables, graph theory and algorithms to problems in Computer Science and Information Technology.
  • Analyze and evaluate the mathematical thinking and strategies of others.

Midterm - CST 370 Written Exam

5. Interaction Design

CST 205: Multimedia Design and Programming

Demonstrate effective use of computer-based tools used in the design and creation of interactive applications and electronic media.

  • Design, create, and edit electronic images, sounds, videos, text, and motion.
  • Use multimedia authoring tools to design, manage, and execute an interactive multimedia project.

Final - Text Based Adventure Game

Midterm - CRT Image Upscaling Filter Poster

Portfolio - Image Filter Effects