SLG 1: Demonstrate competency in application of programming principles, including fluency in a high-level language, and the object-oriented paradigm. |
SLO 1: Students will be able to understand different datatypes and operators used in C++. |
|
SLO 2: Students will be able to familiarize themselves with concepts of loops, iteration, functions, and recursion using C++. |
|
SLO 3: Students will understand the different types of sorting and searching algorithms used. |
|
SLO 4: Students will implement functions and overloading. |
|
SLO 5: Students will implement arguments such as pass-by-value and pass-by-reference. |
|
SLO 6: Student will be able to understand the difference between number systems. |
|
SLO 7: Students will be able to build a class using encapsulation which bundles data with methods. |
|
SLO 8: Students will be able to use (Private, Public, and Protected) specifiers in their objects. |
|
SLO 9: Students will be able to overload operators. |
|
SLO 10: Students will be able to use objects inside of other objects. |
|
SLO 11: Students will be able to use arrays of objects in other objects. |
|
SLO 12: Students will be able to design and use an abstract object. |
|
SLO 13: Students will be able to design an object hierarchy which uses polymorphism and both static and dynamic methods. |
|
SLO 14: Students will be able to template an object. |
|
SLO 15: Students will be able to use dynamic memory in objects. |
|
SLO 16: Students will be able to throw and catch exceptions. |
SLG 2: Demonstrate knowledge of architecture and organization of computer systems by designing digital logic circuits and showing proficiency with principles of memory systems, disc array systems, and the central processing unit. |
SLO 1: Students will demonstrate knowledge of digital concepts. |
|
SLO 2: Students will demonstrate knowledge of number systems, operations, and codes. |
|
SLO 3: Students will demonstrate knowledge of logic gates. |
|
SLO 4: Students will demonstrate knowledge of Boolean algebra and logic simplification. |
|
SLO 5: Students will demonstrate knowledge of combinational logic analysis. |
|
SLO 6: Students will demonstrate knowledge of functions of combinational logic. |
|
SLO 7: Students will demonstrate knowledge of latches, flip-flops, and timers. |
|
SLO 8: Students will demonstrate knowledge of shift registers. |
|
SLO 9: Students will demonstrate knowledge of counters. |
|
SLO 10: Students will demonstrate knowledge of data processing and control. |
|
SLO 11: Understand the merits and pitfalls in computer performance measurements. |
|
SLO 12: Understand the impact of instruction set architecture on cost-performance of computer design. |
|
SLO 13: Design a pipeline for consistent execution of instructions with minimum hazards. |
|
SLO 14: Understand ways to incorporate long latency operations in pipeline design. |
|
SLO 15: Understand ways to take advantage of instruction level parallelism for high performance processor design. |
|
SLO 16: Understand dynamic scheduling methods and their adaptation to contemporary microprocessor design. |
|
SLO 17: Understand the impact of branch scheduling techniques and their impact on processor performance. |
|
SLO 18: Understand alternatives in cache design and their impacts on cost/performance. |
|
SLO 19: Understand contemporary microprocessor designs and identify various design techniques employed. |
|
SLO 20: Design an interconnection networks and multiprocessors. |
|
SLO 21: Understand the design process of a computer and critical elements in each step. |
|
SLO 22: Understand memory hierarchy and its impact on computer cost/performance. |
|
SLO 23: Use a set of hardware simulators to model a complex processor. |
|
SLO 24: Use tools for modeling various microprocessor design alternatives. |
|
SLO 25: Discuss current events in the microprocessor R&D and industry. |
SLG 3: Demonstrate knowledge of principles of computer data structures and algorithms and apply them to solve different computer problems. |
SLO 1: Students will be able to program and understand (shell, insertion, merge, quick, heap, and bin sort). |
|
SLO 2: Students will understand the amount of time it takes to sort for each sorting algorithm. |
|
SLO 3 Students will be able to use dynamic memory to represent linked lists, double linked lists, binary trees and AVL trees. |
|
SLO 4: Students will be able analyze a variety of common problems and determine an appropriate algorithmic solution (greedy, backtracking, dynamic programming, etc.). |
SLG 4: Demonstrate knowledge of and apply the functionalities of different network layers and protocols. |
SLO 1: Students will be able to understand concepts related to network and internet. |
|
SLO 2: Students will be able to understand how TCP packets work in the transport layer. |
|
SLO 3: Students will be able to understand how IP packets work in the network layer. |
|
SLO 4: Students will be able to answer questions related to concepts of sliding window, checksums, and various routing algorithms. |
|
SLO 5: Students will be able to work on link layer CRC, checksums, and ARP. |
|
SLO 6: Students will understand concepts in application layer related to HTTP, FTP, and DNS. |
|
SLO 7: Students will be able to understand the different types of wireless standards used. |
|
SLO 8: Students will get an introduction on multimedia streaming such as Netflix or YouTube. |
|
SLO 9: Students will learn the current threats and methods to avoid them in networking. |
SLG 5: Demonstrate knowledge pertaining to designing database systems for storage and management of data. |
SLO 1: Students will be able to understand concepts related to SQL queries. |
|
SLO 2: Students will be able to design databases and normalize them to reduce redundancy. |
|
SLO 3: Students will be able to represent queries using relational algebra and optimize them. |
|
SLO 4: Students will be able to work with transaction processing and concurrency control. |
|
SLO 5: Students will understand concepts related to trees, hashing, and indexes. |
|
SLO 6: Students will be able to implement databases in web development using PHP and XML. |
|
SLO 7: Students will get an introduction to advanced topics such as Data Mining, Data. Warehousing, NoSQL, Object-oriented databases, and Information retrieval. |
SLG 6: Demonstrate knowledge of and apply concepts of shared memory in a multitasking operating system. |
SLO 1: Students will be able to spawn processes. |
|
SLO 2: Students will be able to communicate with spawned processes through standard input and output. |
|
SLO 3: Students will be able to spawn threads based off the number of parameters in the command line. |
|
SLO 4: Students will be able to use critical sections to protect data from multiple threads. |
|
SLO 5: Students will be able to use semaphores to manage many recourses which are being used by multiple threads. |
|
SLO 6: Students will be able to design a computer simulation using threads, critical sections, and semaphores. |
|
SLO 7: Students will be able to design a computer simulation using threadpools, critical sections, and semaphores. |
SLG 7: Demonstrate knowledge of and apply concepts of computational grammar used to analyze a programming language. |
SLO 1: Students will be able to create FSM, NFA, and DFAs. |
|
SLO 2: Students will be able to prove a language is not regular. |
|
SLO 3: Students will be able to minimize a DFA. |
|
SLO 4: Students will be able to write and design a lexer. |
|
SLO 5: Students will be able to take grammar and create OPC. |
|
SLO 6: Students will be able to design and program bottom up parser. |
|
SLO 7: Students will be able to remove left recursion from grammar. |
|
SLO 8: Students will be able to design and program, top down parser. |
|
SLO 9: Students will be able to find (first & follows) of a grammar. |
|
SLO 10: Students will be able to create an LL parse table. |
|
SLO 11: Students will be able to create a SLR parse table. |
|
SLO 12: Students will be able to program a compiler to parse (variables, procedures, and functions). |
|
SLO 13: Students will be able to program a symbol table into the parser to recognize scope of variables. |
|
SLO 14: Students will be able to parse procedures and functions with parameters. |
|
SLO 15: Students will be able to create assembler code for all parsed instructions. |
|
SLO 16: Students will be able to parse and create assembler code for if and while instructions. |
|
SLO 17: Students will be able to parse and create assembler code for one- and two-dimensional arrays. |
SLG 8: Demonstrate knowledge of computer science and its implication in modern society. |
SLO 1: Comprehend the relationships between ethics, social implications, Human Computer/Cyber Interaction (HCI), and cyber technology. |
|
SLO 2: Analyze examples of how cyber technology implementations affect and/or impact |
|
SLO 3: Analyze historical examples of how cyber computer technology can be a benefit |
|
SLO 4: Analyze potential future examples of how cyber technology can be a benefit and/or a |
|
SLO 5: Comprehend and analyze computer hardware and software terms and/or concepts, how they are related to each other, and their impact on social, ethical, and HCI issues of cyber technology. |
SLG 9: Demonstrate knowledge of abstract mathematical structures, mathematical techniques, and formal mathematical reasoning as they pertain to the area of computer science. |
SLO 1: Students will have a strong knowledge of discrete mathematics. |
|
SLO 2: Demonstrate the ability to write and evaluate a proof or outline the basic structure of and give examples of each proof technique described. |
|
SLO 3: Understand the basic principles of sets and operations in sets. |
|
SLO 4: Prove basic set equalities. |
|
SLO 5: Apply counting principles to determine probabilities. |
|
SLO 6: Demonstrate an understanding of relations and functions and be able to determine their properties. |
|
SLO 7: Determine when a function is 1-1 and "onto”. |
|
SLO 8: Demonstrate different traversal methods for trees and graph. |
|
SLO 9: Model problems in Computer Science using graphs and trees. |