Menu

Computer Science

CSCI Student Learning Outcomes  &  Course Measurable Objectives

    • CSCI 110 - Fundamentals of Computer Science

      Student Learning Outcomes (SLOs)

      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.

      Course Measurable Objectives (CMOs)

      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 - C++ Language and Object Development

      Student Learning Outcomes (SLOs)

      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.

      Course Measurable Objectives (CMOs)

      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 - Java Language and Object Oriented Programming

      Student Learning Outcomes (SLOs)

      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.

      Course Measurable Objectives (CMOs)

      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 - Assembly Language/Machine Architecture

      Student Learning Outcomes (SLOs)

      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.

      Course Measurable Objectives (CMOs)

      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 190 - Discrete Mathematics Applied to Computer Science

      Student Learning Outcomes (SLOs)

      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.

      Course Measurable Objectives (CMOs)

      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 240 - Data Structures and Algorithms

      Student Learning Outcomes (SLOs)

      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.
      5. Students will be able to implement and analyze running time for various sorting algorithms.
      6. Students will be able to represent graphs and implement well-known graph algorithms.

      Course Measurable Objectives (CMOs)

      1. Analyze problems and select the appropriate data structure.
      2. Design the most efficient data structure for solving a problem.
      3. Utilize effective search, insertion and deletion algorithms.
      4. Estimate running time for the algorithm studied in class or new algorithms.
      5. Implement sorting algorithms.
      6. Implement effective search with search trees and hashing.
      7. Understand and implement graph algorithms.
      8. Identify main memory access and disk access costs.

 

Courses Not Currently Offered

    • CSCI 170

      Student Learning Outcomes (SLOs)

      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.

      Course Measurable Objectives (CMOs)

      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 210

      Student Learning Outcomes (SLOs)

      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 - Data Structures I

      Student Learning Outcomes (SLOs)

      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.

      Course Measurable Objectives (CMOs)

      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 - Data Structures II

      Student Learning Outcomes (SLOs)

      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.

      Course Measurable Objectives (CMOs)

      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.