=====ASM=====
Upon completion of this course, students will be able to demonstrate:
* an understanding of the concepts of assembly
* understanding the impact of number systems
* familiarity with how assembly impacts programming
* experience implementing solutions in assembly
* familiarity with the role of the C library
* experience making system calls in assembly
* familiarity with the organization of a computer system
* experience using registers, stacks, and branches
=====COMPESS=====
Upon completion of this course, students will be able to:
* Identify different types of hardware and discuss what role that hardware plays
* List milestones of computer history
* Perform binary and hexadecimal conversions
* Perform addition and subtraction in binary and hexadecimal
* Explain how input, output, and storage devices work, and be able to compare and contrast different types of these devices
* List the parts of the CPU and what factors affect the CPU's performance
* Explain how the internet works, and identify the hardware and software required for connectivity and web publishing
* Identify the difference between application and system software, and explain how they interact
* Identify all the threats to your computer and explain ways to safeguard your computer
* Explain LAN, MAN, WAN in relation to topologies, communications transmissions, protocols, and communication media
* Identify ethical problems in computing
* Understand the basics of program development and describe programming language paradigms
* Understand logical and physical file management and more advanced file maintenance techniques (DBMS)
* Identify and explain the parts of the system development lifecycle
* Explore jobs in IT and understand the responsibilities that are associated with these jobs
=====CPROG=====
Upon completion of this course, students will be able to:
* write and compile code that utilizes programming constructs
* use pointers and variables to discover the indirect properties of data storage
* comprehend the basics of memory management, data representation and storage
* identify and label various data types as scalar vs. composite
* distinguish and explain difference between homogeneous and heterogeneous composite data types
* break down and separate code into functions and illustrate the use of parameter passing
* justify the use of various programming constructs within code solutions
* discover the standard libraries and use libraries in solving problems
=====DATA=====
Upon completion of this course, students will be able to:
* Discuss the representation and use of primitive data types and built-in data structures
* Describe how the data structures are allocated and used in memory
* Describe common applications for each data structure described in class
* Implement the user-defined data structures in a high-level language
* Compare alternative implementations of data structures with respect to performance
* Write programs that use the following data structures: linked lists, stacks, queues, binary trees, and hash tables
* Compare and contrast the costs and benefits of dynamic and static data structure implementations
* Choose the appropriate data structure for solving a given problem
=====DATACOMM=====
Upon completion of this course, students will be able to demonstrate:
* better understand network I/O for efficient data communication
* utilize capabilities built into the operating system in programs
* write programs that communicate on the network
* use pipes and sockets to establish communication and share data with other processes
* demonstrate knowledge of concurrency
=====DISCRETE=====
Upon completion of this course, students will be able to demonstrate:
* application of concepts
* understand the process behind various mathematical concepts
* ability to convey mathematical and computer science concepts
* critical thinking abilities
* increased understanding of discipline concepts
* experience implementing concepts on the computer
* ability to solve problems creatively
=====HPC0=====
During the process of the course, the student will be able to:
* understand the impact of computing in problem solving
* value interdisciplinary knowledge in problem solving
* apply effective visualization techniques to view data
* troubleshoot and diagnose problems
* recognize and relate how data may be generated
* compare the tradeoffs & advantages in concurrency
* identify processing considerations
* document tasks and solutions
=====HPC1=====
Upon completion of this course, students will be able to demonstrate:
* demonstrate concept comprehension
* information sharing through documentation
* understanding the nature of an HPC environment
* apply troubleshooting skills
* gain experience with real world system issues
* demonstrate knowledge of Linux & Open Source
* demonstrate awareness of networking concepts
* perform system and network administration
* demonstrate awareness of security issues
* demonstrate scripting skills to automate tasks
* collaborative work on a project or task
=====HPC2=====
Upon completion of this course, students will be able to demonstrate:
* demonstrate continued concept comprehension
* information sharing through documentation
* understanding the nature of an interconnected computing environment
* apply improved troubleshooting skills
* gain experience with real world system issues
* demonstrate knowledge of Linux & Open Source
* demonstrate awareness of networking concepts
* perform system and network administration
* demonstrate awareness of security issues
* demonstrate scripting skills to automate tasks
* collaborative work on a project or task
* understand and utilize logs to aid in problem solving and reporting
=====SYSNET=====
Upon completion of this course, students will be able to demonstrate:
* understanding of concepts to mix them together
* effective use of communication capabilities
* capability of contemplating/measuring performance
* proficiency with tools to accomplish tasks
* ability to suggest troubleshooting strategies
* application of changes as a result of testing
* problem solving activities
* ability to document processes and tasks
=====SYSPROG=====
Upon completion of this course, students will be able to:
* better understand file I/O for efficient data processing
* utilize capabilities built into the operating system
* write programs that interact with and spawn processes
* use pipes and sockets to communicate and share data
* demonstrate knowledge of concurrency
* design programs that handle signals
* explore efficient solutions to data- and processing- intensive problems
* utilize collaboration of resources to solve problems
=====UNIX=====
Upon completion of this course, students will be able to demonstrate:
* familiarity with the structure of UNIX systems
* the ability to accomplish/automate tasks
* exposure to command-line tools and utilities
* experience the connection between UNIX and C
* understanding of the UNIX philosophy
* exposure to Open Source concepts and ideals
* exposure to computer security
* understanding and use of pattern matching
* problem solving activities
* application of shell scripting to perform tasks