# Computer Science

# Student Learning Outcomes

Course Number | Course | Outcome |
---|---|---|

CSCI 150 | Assembly Language/Machine Architecture | ^ Analyze disk operations and compare different file systems. ^ Construct internal representations of simple data types. ^ CS students feel they have the resources necessary for their success. ^ Explain different number systems and manipulate bits and bytes. ^ Identify the basic principles of the operating system. ^ Identify the components of a computer and the organization of those components. ^ Map statements and constructs in a high-level language into a sequence of machine instructions. ^ Students will feel that computer science is a beneficial part of their education ^ Use assembly language instructions to write programs. ^ Utilize procedures in assembly programs. |

CSCI 140 | C++ Language and Object Development | ^ CS students feel they have the resources necessary for their success. ^ For a given algorithm students will be able to write modular C++ code using classes in an OOP approach. ^ 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. ^ Students will feel that computer science is a beneficial part of their education |

CSCI 220 | Data Structures I | ^ Analyze problems and select the appropriate data structure. ^ CS students feel they have the resources necessary for their success. ^ Demonstrate effective debugging techniques. ^ Design the most efficient data structure for solving a problem. ^ Estimate running time for the algorithm studied in class or new algorithms. ^ Implement the data structure through effective C++/Java code. ^ Students will be able to implement and use linear data structures including lists. ^ Students will feel that computer science is a beneficial part of their education ^ Utilize effective search, insertion and deletion algorithms. ^ Write and organize documentation for data structures. |

CSCI 230 | Data Structures II | ^ Analyze algorithms and select the most efficient one to solve a problem. ^ CS students feel they have the resources necessary for their success. ^ Estimate running time for sort, search, and graph algorithms. ^ Identify main memory access and disk access costs. ^ Implement hashing algorithms. ^ Implement sorting algorithms. ^ Students will be able to represent graphs and implement well-known graph algorithms. ^ Students will feel that computer science is a beneficial part of their education ^ Use self-organizing lists in problem solving. ^ Utilize object-oriented techniques in design of data structures and algorithms. |

CSCI 190 | Discrete Mathematics Applied to Computer Science | ^ Classify problems according to mathematical aspect that is relevant to it ^ Compose proofs using truth tables or predicate calculus ^ Define problems in mathematical terms using the language of sets, logic, arithmetic, combinatorics ^ Demonstrate elementary counting techniques ^ Develop algorithms using recursion ^ Solve problems using mathematical induction ^ Use Prims algorithm to find a spanning tree of minimum weight. Caution: there may be more rows in the table than the number of edges required to construct a spanning tree. The vertices are labeled A, B, C, D, H, and the numbers on the edges are the weights. ^ Utilize discrete probability for practical problems. ^ Utilize modular arithmetic and integer arithmetic in problem solving with computers ^ Utilize the appropriate mathematical tool in algorithm design ^ Utilize the language of graphs in problem solving and algorithm design ^ x^ 5 <- -> 2(mod13) |

CSCI 110 | Fundamentals of Computer Science | ^ Analyze and design efficient algorithms for problem solving. ^ Create correct code, and debug simple errors in one of the higher level languages (C, C++ or Java.) ^ CS students feel they have the resources necessary for their success. ^ Define computer terminology. ^ Demonstrate number system conversion to and from binary, decimal and hexadecimal. ^ Describe instruction set, computer organization and operating system features. ^ Describe various data representations. ^ Discuss fundamental units of digital computers. ^ For a given algorithm students will be able to write the C++ code using a modular approach. ^ Students will feel that computer science is a beneficial part of their education ^ Utilize appropriate data types and structures. ^ Utilize text editors, compilers and IDEs. ^ Write, organize and assemble program documentation. |

CSCI 170 | Introduction to Unix Operating System | ^ Configure user shells and perform basic tasks as "root" on the system. ^ Describe the function performed by an operating system. ^ Discuss features of UNIX implementations and compare to other operating systems. ^ Explain networking basics, routing, TCP/IP and DNS. ^ Manage system administration on SOLARIS and LINUX boxes. ^ Utilize compilers for C/C++, Java under UNIX. ^ Utilize file systems under UNIX. ^ Utilize process management under UNIX. ^ Utilize vi and emacs text editors. ^ Write scripts for shell programming in UNIX. |

CSCI 145 | Java Language and Object Oriented Programming | ^ Analyze problems and design appropriate algorithms. ^ Code algorithms into the Java language. ^ CS students feel they have the resources necessary for their success. ^ Demonstrate debugging techniques. ^ Demonstrate the paradigm of object oriented programming. ^ Develop standards for comparing the efficiency of various algorithms. ^ Recognize and produce proper Java syntax. ^ Students will feel that computer science is a beneficial part of their education ^ Utilize recursion, iteration and arrays. ^ Write, organize and assemble program documentation. |