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 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.
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 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 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 well-known 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 read-understand-write 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 well-known 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 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.
- CSCI 170