Computer Science
CSCI Student Learning Outcomes & Course Measurable Objectives

 CSCI 110  Fundamentals of Computer Science
Student Learning Outcomes (SLOs)
 Students will be able to use and differentiate between basic concepts of computer hardware and software.
 Students will be able to use data representation for the fundamental data types and perform conversions between binaryhexadecimaldecimal representations.
 Students will be able to read, understand and trace the execution of programs written in C language.
 For a given algorithm students will be able to write the C code using a modular approach.
Course Measurable Objectives (CMOs)
 Define computer terminology.
 Describe various data representations.
 Demonstrate number system conversion to and from binary, decimal and hexadecimal.
 Discuss fundamental units of digital computers.
 Describe instruction set, computer organization and operating system features.
 Analyze and design efficient algorithms for problem solving.
 Utilize text editors, compilers and IDEs.
 Utilize appropriate data types and structures.
 Write, organize and assemble program documentation.
 Create correct code, and debug simple errors in one of the higher level languages (C, C++ or Java.)
 CSCI 140  C++ Language and Object Development
Student Learning Outcomes (SLOs)
 Students will be able to analyze problems and design algorithms in pseudo code.
 Students will be able to read, understand and trace the execution of programs written in C++ language.
 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.
 For a given algorithm students will be able to write modular C++ code using classes in an OOP approach.
Course Measurable Objectives (CMOs)
 Analyze problems and design appropriate algorithms.
 Code algorithms into the C++ language.
 Recognize and produce proper C++ syntax.
 Use correct data type and data structures, including objects, linked lists, stacks, queues.
 Utilize recursion, iteration, arrays, pointer arithmetic.
 Demonstrate the paradigm of object oriented programming.
 Write, organize and assemble program documentation.
 Utilize encapsulation, overloading, inheritance and polymorphism.
 Utilize data abstraction, separate program interface and implementation
 Develop standards for comparing the efficiency of various algorithms.
 Demonstrate debugging techniques.
 CSCI 145  Java Language and Object Oriented Programming
Student Learning Outcomes (SLOs)
 Students will be able to analyze problems and design appropriate algorithms.
 Students will be able to code provided algorithms using Java language.
 Students will be able to provide code for a Java class given objectsâ€™ attributes and behaviors.
 Students will be able to use existing Java classes to perform required tasks.
Course Measurable Objectives (CMOs)
 Analyze problems and design appropriate algorithms.
 Code algorithms into the Java language.
 Recognize and produce proper Java syntax.
 Utilize recursion, iteration and arrays.
 Demonstrate the paradigm of object oriented programming.
 Write, organize and assemble program documentation.
 Develop standards for comparing the efficiency of various algorithms.
 Demonstrate debugging techniques.
 CSCI 150  Assembly Language/Machine Architecture
Student Learning Outcomes (SLOs)
 Students will be able to manipulate data at the bit and byte levels.
 Students will be able to identify the components of a computer and the organization of those components.
 Students will be able to describe disk storage systems and file systems.
 Students will be able to use assembly language instructions to write small programs.
Course Measurable Objectives (CMOs)
 Explain different number systems and manipulate bits and bytes.
 Identify the components of a computer and the organization of those components.
 Use assembly language instructions to write programs.
 Map statements and constructs in a highlevel language into a sequence of machine instructions.
 Construct internal representations of simple data types.
 Identify the basic principles of the operating system.
 Utilize procedures in assembly programs.
 Analyze disk operations and compare different file systems.
 Write programs in assembly language.
 CSCI 190  Discrete Mathematics Applied to Computer Science
Student Learning Outcomes (SLOs)
 Students will be able to use truth table for propositional calculus.
 Students will be able to use math induction and recursive definitions and algorithms.
 Students will be able to understand the terminology of finite graphs and trees and use the basic algorithms for traversal, shortest path, graph coloring.
 Students will be able to use basic counting techniques, combinatorics concepts and binomial coefficients.
Course Measurable Objectives (CMOs)
 Utilize the appropriate mathematical tool in algorithm design
 Define problems in mathematical terms using the language of sets, logic, arithmetic, combinatorics
 Compose proofs using truth tables or predicate calculus
 Develop algorithms using recursion
 Utilize modular arithmetic and integer arithmetic in problem solving with computers
 Demonstrate elementary counting techniques
 Solve problems using mathematical induction
 Utilize the language of graphs in problem solving and algorithm design
 Classify problems according to mathematical aspect that is relevant to it
 Utilize discrete probability for practical problems.
 CSCI 240  Data Structures and Algorithms
Student Learning Outcomes (SLOs)
 Students will be able to analyze problems and select the appropriate data structure.
 Students will be able to estimate running time given an algorithm.
 Students will be able to implement and use linear data structures including sets, stacks, queues, and lists.
 Students will be able to implement and use trees including binary tree, binary search trees, and heaps.
 Students will be able to implement and analyze running time for various sorting algorithms.
 Students will be able to represent graphs and implement wellknown graph algorithms.
Course Measurable Objectives (CMOs)
 Analyze problems and select the appropriate data structure.
 Design the most efficient data structure for solving a problem.
 Utilize effective search, insertion and deletion algorithms.
 Estimate running time for the algorithm studied in class or new algorithms.
 Implement sorting algorithms.
 Implement effective search with search trees and hashing.
 Understand and implement graph algorithms.
 Identify main memory access and disk access costs.
 CSCI 110  Fundamentals of Computer Science
Courses Not Currently Offered

 CSCI 170
Student Learning Outcomes (SLOs)
 Students will be able do basic UNIX OS administration tasks, including account management.
 Students will be able to use the Unix file system
 Students will be able to perform basic UNIX networking tasks including setting up a LAN using NIS
 Students will be able to use Unix programming tools: compilers, Make utility, debugger, profiler, version control.
 Students will be able to readunderstandwrite short scripts in a Unix shell.
Course Measurable Objectives (CMOs)
 Describe the function performed by an operating system.
 Utilize vi and emacs text editors.
 Write scripts for shell programming in UNIX.
 Discuss features of UNIX implementations and compare to other operating systems.
 Manage system administration on SOLARIS and LINUX boxes.
 Utilize file systems under UNIX.
 Utilize process management under UNIX.
 Configure user shells and perform basic tasks as "root" on the system.
 Explain networking basics, routing, TCP/IP and DNS.
 Utilize compilers for C/C++, Java under UNIX.
 CSCI 210
Student Learning Outcomes (SLOs)
 Students will be able to use Boolean algebra for algebraic simplification.
 Students will be able to use truth tables, maps, and tabular reduction methods in combinational network design.
 Students will be able to use state tables and diagrams in sequential network design.
 Students will be able to differentiate between combinational and sequential logic networks.
 CSCI 220  Data Structures I
Student Learning Outcomes (SLOs)
 Students will be able to analyze problems and select the appropriate data structure.
 Students will be able to estimate running time given an algorithm.
 Students will be able to implement and use linear data structures including sets, stacks, queues, and lists.
 Students will be able to implement and use trees including binary tree, binary search trees, and heaps.
Course Measurable Objectives (CMOs)
 Analyze problems and select the appropriate data structure.
 Design the most efficient data structure for solving a problem.
 Implement the data structure through effective C++/Java code.
 Utilize effective search, insertion and deletion algorithms.
 Demonstrate effective debugging techniques.
 Write and organize documentation for data structures.
 Estimate running time for the algorithm studied in class or new algorithms.
 CSCI 230  Data Structures II
Student Learning Outcomes (SLOs)
 Students will be able to implement efficient searching techniques including hash tables and skip lists.
 Students will be able to implement and analyze running time for various sorting algorithms.
 Students will be able to represent graphs and implement wellknown graph algorithms.
 Students will be able to differentiate the costs between memory access and disk access.
Course Measurable Objectives (CMOs)
 Analyze algorithms and select the most efficient one to solve a problem.
 Implement sorting algorithms.
 Implement hashing algorithms.
 Use selforganizing lists in problem solving.
 Understand and implement graph algorithms.
 Estimate running time for sort, search, and graph algorithms.
 Identify main memory access and disk access costs.
 Utilize objectoriented techniques in design of data structures and algorithms.
 CSCI 170