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
- 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 binary-hexadecimal-decimal 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.
CSCI 110 CMO
- 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 SLO
- 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.
CSCI 140 CMO
- 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 SLO
- 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.
CSCI 145 CMO
- 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 SLO
- 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.
CSCI 150 CMO
- 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 high-level 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 170 SLO
- 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 read-understand-write short scripts in a Unix shell.
CSCI 170 CMO
- 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 190 SLO
- 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.
CSCI 190 CMO
- 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 210
- 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 SLO
- 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.
CSCI 220 CMO
- 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 SLO
- 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 well-known graph algorithms.
- Students will be able to differentiate the costs between memory access and disk access.
CSCI 230 CMO
- Analyze algorithms and select the most efficient one to solve a problem.
- Implement sorting algorithms.
- Implement hashing algorithms.
- Use self-organizing 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 object-oriented techniques in design of data structures and algorithms.