Student Learning Outcomes &

Course Measurable Objectives

Student Learning Outcomes (SLO) is a means to determine what students know, think, feel or do as a result of a given learning experience. Learn more about SLO.


Mathematics - 50 - 51 - 51A - 51B - 61 - 71 - 71A - 71B - 71X - 96
       - 100 - 110 - 110H - 120 - 130 - 140 - 150 - 160 - 180 - 181 - 210 - 280 - 285
Computer Science - 110 - 140 - 145 - 150 - 170 - 190 - 210 - 220 - 230


Computer Science

CSCI 110 SLO

  1. Students will be able to use and differentiate between basic concepts of computer hardware and software.
  2. Students will be able to use data representation for the fundamental data types and perform conversions between binary-hexadecimal-decimal representations.
  3. Students will be able to read, understand and trace the execution of programs written in C language.
  4. For a given algorithm students will be able to write the C code using a modular approach.

CSCI 110 CMO

  1. Define computer terminology.
  2. Describe various data representations.
  3. Demonstrate number system conversion to and from binary, decimal and hexadecimal.
  4. Discuss fundamental units of digital computers.
  5. Describe instruction set, computer organization and operating system features.
  6. Analyze and design efficient algorithms for problem solving.
  7. Utilize text editors, compilers and IDEs.
  8. Utilize appropriate data types and structures.
  9. Write, organize and assemble program documentation.
  10. Create correct code, and debug simple errors in one of the higher level languages (C, C++ or Java.)

CSCI 140 SLO

  1. Students will be able to analyze problems and design algorithms in pseudo code.
  2. Students will be able to read, understand and trace the execution of programs written in C++ language.
  3. Students will be able to use given classes and virtual functions in a class hierarchy to create new derived classes and the code that uses them.
  4. For a given algorithm students will be able to write modular C++ code using classes in an OOP approach.

CSCI 140 CMO

  1. Analyze problems and design appropriate algorithms.
  2. Code algorithms into the C++ language.
  3. Recognize and produce proper C++ syntax.
  4. Use correct data type and data structures, including objects, linked lists, stacks, queues.
  5. Utilize recursion, iteration, arrays, pointer arithmetic.
  6. Demonstrate the paradigm of object oriented programming.
  7. Write, organize and assemble program documentation.
  8. Utilize encapsulation, overloading, inheritance and polymorphism.
  9. Utilize data abstraction, separate program interface and implementation
  10. Develop standards for comparing the efficiency of various algorithms.
  11. Demonstrate debugging techniques.

CSCI 145 SLO

  1. Students will be able to analyze problems and design appropriate algorithms.
  2. Students will be able to code provided algorithms using Java language.
  3. Students will be able to provide code for a Java class given objects’ attributes and behaviors.
  4. Students will be able to use existing Java classes to perform required tasks.

CSCI 145 CMO

  1. Analyze problems and design appropriate algorithms.
  2. Code algorithms into the Java language.
  3. Recognize and produce proper Java syntax.
  4. Utilize recursion, iteration and arrays.
  5. Demonstrate the paradigm of object oriented programming.
  6. Write, organize and assemble program documentation.
  7. Develop standards for comparing the efficiency of various algorithms.
  8. Demonstrate debugging techniques.

CSCI 150 SLO

  1. Students will be able to manipulate data at the bit and byte levels.
  2. Students will be able to identify the components of a computer and the organization of those components.
  3. Students will be able to describe disk storage systems and file systems.
  4. Students will be able to use assembly language instructions to write small programs.

CSCI 150 CMO

  1. Explain different number systems and manipulate bits and bytes.
  2. Identify the components of a computer and the organization of those components.
  3. Use assembly language instructions to write programs.
  4. Map statements and constructs in a high-level language into a sequence of machine instructions.
  5. Construct internal representations of simple data types.
  6. Identify the basic principles of the operating system.
  7. Utilize procedures in assembly programs.
  8. Analyze disk operations and compare different file systems.
  9. Write programs in assembly language.

CSCI 170 SLO

  1. Students will be able do basic UNIX OS administration tasks, including account management.
  2. Students will be able to use the Unix file system
  3. Students will be able to perform basic UNIX networking tasks including setting up a LAN using NIS
  4. Students will be able to use Unix programming tools: compilers, Make utility, debugger, profiler, version control.
  5. Students will be able to read-understand-write short scripts in a Unix shell.

CSCI 170 CMO

  1. Describe the function performed by an operating system.
  2. Utilize vi and emacs text editors.
  3. Write scripts for shell programming in UNIX.
  4. Discuss features of UNIX implementations and compare to other operating systems.
  5. Manage system administration on SOLARIS and LINUX boxes.
  6. Utilize file systems under UNIX.
  7. Utilize process management under UNIX.
  8. Configure user shells and perform basic tasks as "root" on the system.
  9. Explain networking basics, routing, TCP/IP and DNS.
  10. Utilize compilers for C/C++, Java under UNIX.

CSCI 190 SLO

  1. Students will be able to use truth table for propositional calculus.
  2. Students will be able to use math induction and recursive definitions and algorithms.
  3. Students will be able to understand the terminology of finite graphs and trees and use the basic algorithms for traversal, shortest path, graph coloring.
  4. Students will be able to use basic counting techniques, combinatorics concepts and binomial coefficients.

CSCI 190 CMO

  1. Utilize the appropriate mathematical tool in algorithm design
  2. Define problems in mathematical terms using the language of sets, logic, arithmetic, combinatorics
  3. Compose proofs using truth tables or predicate calculus
  4. Develop algorithms using recursion
  5. Utilize modular arithmetic and integer arithmetic in problem solving with computers
  6. Demonstrate elementary counting techniques
  7. Solve problems using mathematical induction
  8. Utilize the language of graphs in problem solving and algorithm design
  9. Classify problems according to mathematical aspect that is relevant to it
  10. Utilize discrete probability for practical problems.

CSCI 210

  1. Students will be able to use Boolean algebra for algebraic simplification.
  2. Students will be able to use truth tables, maps, and tabular reduction methods in combinational network design.
  3. Students will be able to use state tables and diagrams in sequential network design.
  4. Students will be able to differentiate between combinational and sequential logic networks.

CSCI 220 SLO

  1. Students will be able to analyze problems and select the appropriate data structure.
  2. Students will be able to estimate running time given an algorithm.
  3. Students will be able to implement and use linear data structures including sets, stacks, queues, and lists.
  4. Students will be able to implement and use trees including binary tree, binary search trees, and heaps.

CSCI 220 CMO

  1. Analyze problems and select the appropriate data structure.
  2. Design the most efficient data structure for solving a problem.
  3. Implement the data structure through effective C++/Java code.
  4. Utilize effective search, insertion and deletion algorithms.
  5. Demonstrate effective debugging techniques.
  6. Write and organize documentation for data structures.
  7. Estimate running time for the algorithm studied in class or new algorithms.

CSCI 230 SLO

  1. Students will be able to implement efficient searching techniques including hash tables and skip lists.
  2. Students will be able to implement and analyze running time for various sorting algorithms.
  3. Students will be able to represent graphs and implement well-known graph algorithms.
  4. Students will be able to differentiate the costs between memory access and disk access.

CSCI 230 CMO

  1. Analyze algorithms and select the most efficient one to solve a problem.
  2. Implement sorting algorithms.
  3. Implement hashing algorithms.
  4. Use self-organizing lists in problem solving.
  5. Understand and implement graph algorithms.
  6. Estimate running time for sort, search, and graph algorithms.
  7. Identify main memory access and disk access costs.
  8. Utilize object-oriented techniques in design of data structures and algorithms.