Upper Iowa University

Upper Iowa University

Department of STEM

Contact us

We offer courses in different areas, such as calculus, discrete mathematics, statistics, programming, hardware, operating systems, networking, and security.

Click a tab below for your discipline.

Find a course
  • CS102 (Introduction to Computer Applications and Technology)

    Credits: 3
    Prerequisites: None
    Outcome: This course will meet the general education requirement in computer skills.

    Information technology is the study of how to use and implement computer hardware and software, computer networks and telecommunications. In this class you will be introduced to the field of information technology, the skills that are necessary to be an information technologist, how information is used to meet organizational needs and how information technology relates to other disciplines. You will make extensive use of an integrated software package, including work processing, spreadsheets, databases, and presentation software, and Internet and WWW applications. Detailed description

    Course learning outcomes

    Understand technological concepts, systems & operations
    1. The student will have the ability to define Information Systems and Information Technology and describe the relationship they have with computing and non-computing disciplines
    2. The student will have an understanding of the history of information systems and technology to include: history of computing technology, significant impacts of computing on society, significant changes in human-computer interaction, and the history of the Internet.
    3. The student will have an overview understanding of operating systems: The role and purpose of operating systems and simple file management
    4. The student will have an understanding of net-centric computing to include: the background and history of networking and the Internet and the ability to use networking software including e-mail, telnet, and FTP
    5. The student will have an understanding and ability to use lossy and lossless compression and understand the advantages and disadvantages of each.
    6. The student will demonstrate the ability to install and check on security devices including: firewalls, virus protections and anti-spyware
    7. The student will demonstrate the ability to setup a personal computer including input and output devices.
    Use technology to communicate
    1. The student will understand why the mastery of information and communication technologies is important in all fields.
    2. The student will have an understanding of the purpose and the ability to correctly utilize current software applications to communicate, including an integrated software package featuring word processing, and presentation software.
    3. The student will develop an understanding of how the growth of the Internet and the demands for information from users outside the organization (customers and suppliers) impact data handling and processing.
    4. The student will demonstrate the ability to setup a personal wireless and wired network
    Use technology to gather and analyze information
    1. The student will demonstrate the ability to differentiate and use key terms such as: information, data, database, database management system, metadata, and data mining.
    2. The student will demonstrate the ability to describe mechanisms for data collection and their implications (automated data collection, input forms, data sources).
    3. The student will demonstrate the ability to explain the basic issues of data retention, including the need for retention, physical storage, and security.
    4. The student will have an understanding of the purpose and the ability to correctly utilize current software applications to gather and analyze data and information, including an integrated software package featuring word processing, spreadsheets, databases, and presentation software.
    5. The student will have an understanding of the role of data, information, and databases in organizations and the ability to identify and explain the need for general types of databases: personal, workgroup, department, and enterprise.
    6. The student will demonstrate the ability to install applications and utilize file sharing.
    7. The student will demonstrate the ability to explain why data backup is important and how organizations use backup and recovery systems.
    8. The student will demonstrate the ability to define data quality, accuracy and timeliness, and explain how their absence will impact organizations.
    Use technology to enhance their creative, critical thinking, problem solving & decision making skills
    1. The student will recognize the need to keep technology skills current and the need to learn tools and methods for acquiring new skills and knowledge.
    2. The student will demonstrate the ability to use media acquisition tools to create works used from the communication of ideas (Audio, Visual, Tactile, CODECs) and editing tools (GIMP, Audacity, MovieMaker etc…..)
    3. The student will demonstrate the ability to solve real-world problems in various domains using the technology appropriate for the task.
    4. The student will demonstrate the ability to use the knowledge generated by information systems to make informed decisions
    Understand the social implications of technology
    1. The student will have an understanding of how computing and society impact one another, how IS & IT has impacted the globalization of world economy, culture, political systems, health, security, warfare, etc, and how it has changed various application domains
    2. The student will have an understanding of the importance of data and information in today’s society.
    3. The student will have knowledge of sources of accessibility guidelines and standards ADEA 508, NIMAS, UDL, WCAG, etc.
    4. The student will have knowledge of computer and information security and the mechanisms, such as passwords, captcha, biometric access control, encryption and understand the advantages and disadvantages of each.
    5. The student will demonstrate an awareness and concern for various ethical issues associated with the web, including the digital divide, issues concerning race and gender, freedom of speech, privacy and copy and digital content rights
    6. The student will have an understanding of the importance of life-long learning and continued professional development is critical in every field.
    7. The student will develop an understanding of the rate of change in the information technology field and how that change affects individuals and organizations.
  • CS122 (IT Infrastructure)

    Credits: 4
    Prerequisites: None
    Outcome: IT/IS major/minor course

    This course provides an introduction to IT infrastructure for students majoring in OISTP disciplines. The course covers topics related to both computer and systems architecture and communication networks, with an overall focus on the services and capabilities that IT infrastructure solutions enable in an organizational context. The course provides the students with the knowledge and skills that they require for communicating effectively with professionals whose focus is on hardware and systems software technology and for designing organizational processes and software solutions that require in-depth understanding of the IT infrastructure capabilities and limitations. The course also prepares the students for organizational roles that require interaction with external vendors of IT infrastructure components and solutions. The course focuses strongly on Internet-based solutions, computer and network security, business continuity, and the role of infrastructure in regulatory compliance. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of key principles of data and number system representations and their manipulation in computing solutions.
    2. The student will demonstrate knowledge of the components and structure of a large-scale organizational IT infrastructure solution at a level that allows them to use it effectively.
    3. The student will demonstrate the understanding of the principles underlying layered systems architectures and their application to both computers and networks.
    4. The student will demonstrate the understanding of the differences and similarities between the core elements of an IT infrastructure solution, such as clients, servers, network devices, wired and wireless network links, systems software, and specialized security devices.
    5. The student will demonstrate the understanding of how IT infrastructure components are organized into infrastructure solutions in different organizational environments.
    6. The student will demonstrate the understanding of the principles underlying service virtualization.
    7. The student will demonstrate the understanding of how protocols are used to enable communication between computing devices connected to each other.
    8. The student will demonstrate the understanding of the opportunities that virtual computing service provision models, such as cloud computing, create for organizations.
    9. The student will demonstrate the understanding the role of IT control and service management frameworks in managing a large-scale organizational IT infrastructure solution.
    10. The student will demonstrate the understanding of the need for policies and to train users on IT systems
    11. The student will demonstrate the understanding of the need for power and heat budgets within an IT environment
    12. The student will demonstrate the understanding of the need for hardware and software integration
    13. The student will demonstrate the understanding of the difference between firmware, software and hardware
    14. The student will demonstrate the understanding of purpose of version control and the pros and cons of installing service packs and updates
    15. The student will demonstrate the understanding of the advantages and disadvantages of proprietary and open-source solutions
    16. The student will demonstrate the understanding of how mathematics relates to the foundations of IT, number systems, data representation and encoding systems
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to configure an IT infrastructure solution for a small organization, including a network, based on standard technology components, servers, security devices, and several different types of computing clients.
    2. The student will demonstrate the ability to apply the core concepts underlying IP networks to solve simple network design problems, including IP subnetting.
    3. The student will demonstrate the understanding of the role and structure of the Internet as an IT infrastructure component and design simple infrastructure solutions based on the use of the Internet.
    4. The student will demonstrate the ability to analyze and understand the security and business continuity implications of IT infrastructure design solutions.
    5. The student will demonstrate the ability to configure simple infrastructure security solutions including authentication and authorization.
    6. The student will demonstrate the ability to minimize the environmental and resource consumption impacts of IT infrastructure decisions
    7. The student will demonstrate the ability to negotiate with vendors providing design and implementation solutions.
    Professional traits
    1. The student will have a respect for the complexity in an information technology environment
    2. The student will have an understanding of why life-long learning and continued professional development is critical for an IT professional
    3. The student will demonstrate the understanding of the importance of system configuration and maintenance for an organization
    4. Explain how the Information Assurance and Security (IAS) perspective is relevant to all users of computer and network technologies, and why the IAS perspective needs to pervade all aspects of IT.
    5. The student will have an understanding of why mathematics and statistics are important in IT.
    6. The student will have a respect for the environmental of concerns, such as green computing and recycling programs
  • CS130 (Foundations of Information Systems)

    Credits: 3
    Prerequisites: CS122
    Outcome: OISTP core course

    Information systems are an integral part of all business activities and careers. This course is designed to introduce students to contemporary information systems and demonstrate how these systems are used throughout global organizations. The focus of this course will be on the key components of information systems - people, software, hardware, data, and communication technologies, and how these components can be integrated and managed to create competitive advantage. Through the knowledge of how IS provides a competitive advantage students will gain an understanding of how information is used in organizations and how IT enables improvement in quality, speed, and agility. This course also provides an introduction to systems and development concepts, technology acquisition, and various types of application software that have become prevalent or are emerging in modern organizations and society. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of how and why information systems are used today.
    2. The student will demonstrate the knowledge of the major components of an information systems infrastructure.
    3. The student will demonstrate the understanding of globalization and the role information systems has played in this evolution.
    4. The student will demonstrate the understanding of how businesses are using information systems for competitive advantage vs. competitive necessity.
    5. The student will demonstrate the understanding of the value of information systems investments as well as learn to formulate a business case for a new information system, including estimation of both costs and benefits
    6. The student will demonstrate the understanding of how information systems are enabling new forms of commerce between individuals, organizations, and governments.
    7. The student will demonstrate the understanding of how various types of information systems provide the information needed to gain business intelligence to support the decision making for the different levels and functions of the organization.
    8. The student will demonstrate the understanding of how enterprise systems foster stronger relationships with customers and suppliers and how these systems are widely used to enforce organizational structures and processes.
    9. The student will demonstrate the understanding of how organizations develop and acquire information systems and technologies.
    10. The student will demonstrate the understanding of how to secure information systems resources, focusing on both human and technological safeguards.
    11. The student will demonstrate the understanding of explain the need for power and heat budgets within an IT environment.
    12. The student will demonstrate the ability to list the various types of servers required within organizations
    13. The student will demonstrate the ability to describe the need for hardware and software integration
    14. The student will demonstrate the understanding of how software piracy has an effect on the information technology professionals.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to explain the technology, people, and organizational components of information systems.
    2. The student will demonstrate the ability to utilize emerging technologies that enable new forms of communication, collaboration, and partnering.
    3. The student will demonstrate the ability to evaluate the ethical concerns that information systems raise in society and the impact of information systems on crime, terrorism, and war.
    4. The student will demonstrate the ability to describe the basic data analysis concepts and methods used in IT applications
    5. The student will demonstrate the ability to develop an estimate for the power requirements for a computer system
    6. The student will demonstrate the ability to develop a mitigation plan for recover from disasters.
    Professional traits
    1. The student will develop the respect for various departments that are supported or that support the Information resources of an organization.
    2. The student will have an understanding of why adaptability and interpersonal skills are important to an IT professional
    3. The student will have a respect for the environmental concerns, such as green computing and recycling programs
    4. The student will have an understanding of role of the IT professional as the user advocate.
  • CS140 (Introduction to Programming)

    Credits: 4
    Prerequisites: CS122
    Outcome: OISTP core course

    The course introduces the fundamental concepts of procedural programming. The student will be introduced to the history of programming and the role of different programming paradigms. The student will learn the basics of problem decomposition, design of a solution and implementing code to automate the solution. Topics include data types, control structures, functions, arrays, files, and the mechanics of running, testing, and debugging. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the knowledge of the history of programming languages
    2. The student will demonstrate the knowledge of machine level representation of data: bits, bytes, and words; numeric data representation and number bases; representation of character data
    3. The student will demonstrate the knowledge of the syntax and semantics of a higher-level language, including variables, data types, expressions, and assignment statements.
    4. The student will demonstrate the knowledge of the concepts and properties of algorithms
    5. The student will demonstrate the knowledge of problem-solving strategies and the role of algorithms in the problem-solving process.
    6. The student will demonstrate the knowledge of implementation and debugging strategies for algorithms
    7. The student will demonstrate the brief knowledge of programming paradigms (structured, object-oriented, etc...)
    8. The student will demonstrate the understanding of the differences between an interpreted and a compiled language.
    9. The student will demonstrate the understanding of the mechanics of parameter passing and the issues associated with scoping.
    10. The student will demonstrate the understanding of the difference between event-driven programming and command-line programming
    11. The student will demonstrate the knowledge of the concept of recursion and examples of its use.
    12. The student will demonstrate an introductory knowledge of object orient programming paradigm
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to use a programming interface (IDE) to create, modify, and debug programs
    2. The student will demonstrate the ability to use structure decomposition on a given problem and write pseudo code for the correct solution.
    3. The student will demonstrate the ability to describe and utilize the appropriate primitive data types, built-in structures, basic computation, simple I/O and conditional and iterative control structures within a program.
    4. The student will demonstrate the ability to describe and utilize functions and parameter passing within a program.
    5. The student will demonstrate the ability to describe and utilize the appropriate fundamental data structures including primitive types; arrays; records; strings and string processing within a program
    6. The student will demonstrate the ability to analyze, explain, modify and expand short event-driven programs that use standard conditional and iterative control structures , functions and handle exceptions in execution
    7. The student will demonstrate the ability to systematically analyze, explain, design, implement, modify, test and debug small scripts and functions.
    Professional traits
    1. The student will develop an appreciation for the importance of algorithms in the problem-solving process
    2. The student will develop skills in logical reasoning and decomposition.
    3. The student will develop a solid work ethic showing determination and diligence.
    4. The student will develop an appreciation the advantage of alternative sets of requirements and designs.
  • CS150 (Programming for the Sciences)

    Credits: 3
    Prerequisites: CS140 or consent of instructor
    Outcome: OISTP elective course

    In this course students will learn the principles of programming and use this knowledge for data mining and analysis. Students will also use libraries and tools required in today's scientific environment. Students will learn the Python and Octave programming languages, write and debug computer programs, and solve problems. In addition, students will be introduced to other scientific tools and applications. Detailed description

    Course learning outcomes

    • Students will learn to use and apply current technical concepts and practices, including computers, programming, and web systems.
    • Students will design effective solutions and integrate them into the user environment.
    • Students will learn to identify and evaluate current and emerging technologies and assess their applicability to address the user's needs.
    • Students will demonstrate independent critical thinking and problem solving skills.
    • Students will recognize the need for continuous learning throughout their career.
    • Understand and use of primitive data types and built-in data structures (lists, tuples, dictionaries).
    • Choose the appropriate data structure for modeling a given problem.
    • Design, implement, test, and debug a program that uses each of the following fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, and the definition of functions.
    • Choose appropriate functional decomposition, conditional and iteration constructs for a given programming task.
    • Create algorithms for solving simple problems.
    • Use a programming language to implement, test, and debug algorithms for solving simple problems.
    • Understand the importance of incremental development and troubleshooting.
    • Choose an appropriate language and its libraries for the development.
    • Understand the diversity of tools and mechanisms for data analysis.
    • Choose the best tool for a given task.

    Course materials

  • CS205 (Computer Architecture)

    Credits: 4
    Prerequisites: CS122 or consent of instructor
    Outcome: OISTP core course

    This course introduces students to the organization and architecture of computer systems. The course covers the standard von Neumann model and is explained to more recent architectural concepts. The student will learn the basics of representing data and logical manipulation of data in a digital computer. The student will learn the details of the fundamental components of the computer systems including: the CPU, memory, and internal and external communication devices. The student will gain the ability to make decisions regarding the choice of the architecture needed to meet the user’s requirements. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of digital logic including: fundamental building blocks (logic gates, flip-flops, counters, registers, PLA); logic expressions, minimization, sum of product forms; register transfer notation; physical considerations (gate delays, fan-in, fan-out)
    2. The student will demonstrate the understanding of computer data representation including: bits, bytes, and words; numeric data representation and number bases; fixed- and floating-point systems; signed and twos-complement representations; representation of nonnumeric data (character codes, graphical data); representation of records and arrays
    3. The student will demonstrate the understanding of computer assembly level organization including: Basic organization of the von Neumann machine; control unit; instruction fetch, decode, and execution; instruction sets and types (data manipulation, control, I/O); assembly/machine language programming; instruction formats; addressing modes; subroutine call and return mechanisms; I/O and interrupts
    4. The student will demonstrate the understanding of computer memory systems including: storage systems and their technology; coding, data compression, and data integrity; memory hierarchy; main memory organization and operations; latency, cycle time, bandwidth, and interleaving; cache memories (address mapping, block size, replacement and store policy); virtual memory (page table, TLB); fault handling and reliability
    5. The student will demonstrate the understanding of Interfacing and communication including: serial and parallel communication, I/O fundamentals: handshaking, buffering, programmed I/O, interrupt-driven I/O; interrupt structures: vectored and prioritized, interrupt acknowledgment; external storage, physical organization, and drives; buses: bus protocols, arbitration, direct memory access (DMA); introduction to networks; multimedia support; raid architectures
    6. The student will demonstrate the understanding of Functional organization: Implementation of simple data paths; control unit: hardwired realization vs. micro-programmed realization; instruction pipelining; introduction to instruction-level parallelism (ILP)
    7. The student will demonstrate the understanding of Multiprocessor and alternative architectures including: SIMD, MIMD, VLIW, EPIC; systolic architecture; interconnection networks; shared memory systems; cache coherence; memory models and memory consistency
    8. The student will demonstrate the understanding of performance enhancements including: RISC architecture; branch prediction; prefetching; scalability
    9. The student will demonstrate the understanding of contemporary architectures: Hand-held devices; embedded systems; trends in processor architecture
    10. The student will demonstrate the understanding of firmware concepts including: storage options, versioning, and the contrast between firmware, software and hardware.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to disassemble and reassemble a computer system.
    2. The student will demonstrate the ability to develop an implementation of a simple logic circuit using logic gates in both design and physical implementation.
    3. The student will demonstrate the ability to translate binary representation to / from integer, floating point, signed one’s and two’s complement, ASCII, Unicode and EBDIC.
    4. The student will demonstrate the ability to develop an implementation of an assembly program to do mathematical (add, subtract, multiply and divide) and string manipulation (add, remove, delete, append) functions.
    5. The student will demonstrate the ability to compare various computer systems to choose the configuration that best matches the user’s requirements.
    Professional traits
    1. The student will develop skills in logical reasoning and decomposition in a hardware environment.
    2. The student will develop skills in the translation of theoretical descriptions to / from a physical implementation
    3. The student will develop a solid work ethic showing determination and diligence.
    4. The student will recognize that the foundation of IT is built on mathematics and statistics including functions, relations, sets and logic.
    5. The student will recognize that the value of probability and statistics in projection and analysis
  • CS212 (Operating Systems)

    Credits: 4
    Prerequisites: CS205
    Outcome: OISTP core course

    The course introduces the fundamentals of operating systems together with the basics of networking and communications. The student will learn the key components that make up and operating system and the tasks involved in installing, configuring, updating, managing and securing an OS. The student will learn how to compare the various operating systems and choose the one that matches the user’s requirements. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of the overview topics of operating systems including: role and purpose of the operating system; history of operating system development; functionality of a typical operating system
    2. The student will demonstrate the understanding of the advantages and disadvantages of current operating systems including windows, mac and unix.
    3. The student will demonstrate the understanding of operating system principles: structuring methods; abstractions, processes, and resources; concepts of application program interfaces; device organization; interrupts; concepts of user/system state and protection
    4. The student will demonstrate an introductory understanding of concurrency: states and state diagrams; structures; dispatching and context switching; the role of interrupts; synchronization principles, concurrent execution; the "mutual exclusion" problem and some solutions; deadlock; models and mechanisms; producer-consumer problems and synchronization
    5. The student will demonstrate the understanding of task scheduling and dispatch including: Preemptive and non-preemptive scheduling; schedulers and policies; processes and threads; deadlines and real-time issues
    6. The student will demonstrate the understanding of memory management including: review of physical memory and memory management hardware; overlays, swapping, and partitions; paging and segmentation; placement and replacement policies; working sets and thrashing; caching
    7. The student will demonstrate the understanding security models and file systems of various popular operating systems
    8. The student will demonstrate an introductory understanding of distributed algorithms including: consensus and election; fault tolerance
    9. The student will demonstrate the understanding of the key security concerns from a Systems Administration perspective and the ability to explain how security concerns may impact platform section and operation
    10. The student will demonstrate the understanding of the policies and practices that may be applied to Systems Integration and Architectures to ensure secure system operation and information assurance
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to install, configure, modify and update several current operating systems and validate that the installations were successful.
    2. The student will demonstrate the ability to add and remove operating system services
    3. The student will demonstrate an introductory understanding of event-driven programming through the development of scripts in various shell environments to perform an operating system task.
    4. The student will demonstrate the understanding of usage and development of APIs: API programming; class browsers and related tools; programming by example; debugging in the API environment
    5. The student will demonstrate the ability to analyze operating system requirements and recommend an appropriate operating system to meet the requirements.
    6. The student will demonstrate the ability to install a system with at least two virtual machines running different operating systems.
    7. The student will demonstrate the ability to prepare and deploy a system image using imaging software
    8. The student will demonstrate the ability to explain the value of fault tolerance for disaster recovery
    9. The student will demonstrate the ability to perform various operating system administrative tasks including managing users and groups
    Professional traits
    1. The student will develop an appreciation for the layer architecture of the modern computer possess.
    2. The student will develop skills in logical reasoning and decomposition in a software environment.
    3. The student will develop skills in translation of theoretical descriptions to / from physical implementation
    4. The student will develop a solid work ethic showing determination and diligence.
  • CS332 (Databases and Information Management)

    Credits: 3
    Prerequisites: CS212
    Outcome: OISTP core course

    This course provides the students with an introduction to the core concepts in data and information management. IT is centered around the core skills of identifying organizational information requirements, modeling them using conceptual data modeling techniques, converting the conceptual data models into relational data models, verifying its structural characteristics with normalization techniques, and implementing and utilizing a relational database using an industrial-strength database management system. The course will also include coverage of basic database administration tasks and key concepts of data quality and data security. In addition to developing database applications, the course helps the students understand how large-scale packaged systems are highly dependent on the use of DBMSs. Building on the transactional database understanding, the course provides an introduction to data and information management technologies that provide decision support capabilities under the broad intelligence umbrella. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of the historical development of database management systems and logical data models.
    2. The student will demonstrate the understanding of the basics of how data is logically and physically stored and accessed.
    3. The student will demonstrate the understanding the role of databases and database management systems in managing organizational data and information.
    4. The student will demonstrate the understanding of understand the fundamentals of the basic file organization techniques.
    5. The student will demonstrate the understanding the purpose and principles of normalizing a relational database structure.
    6. The student will demonstrate the understanding of the basic mechanisms for accessing relational databases from various types of application development environments.
    7. The student will demonstrate the understanding of the difference between on-line transaction processing (OLTP) and online analytic processing (OLAP), and the relationship between these concepts and business intelligence, data warehousing and data mining.
    8. The student will demonstrate the understanding of XPath and XQuery
    9. The student will demonstrate the understanding of 1NF, 2NF, and 3NF and label violations given a set of relations and a set of functional dependencies.
    10. The student will demonstrate the ability to describe, interpret and create Entity Relationship diagrams
    11. The student will demonstrate the ability to explain the role of ODBC, JDBC and XML in the implementation of a n-tier database architecture.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to apply information requirements specification processes in the broader systems analysis & design context.
    2. The student will demonstrate the ability to use at least one conceptual data modeling technique (such as entity-relationship modeling) to capture the information requirements for an enterprise domain.
    3. The student will demonstrate the ability to link the results of data/information modeling and process modeling.
    4. The student will demonstrate the ability to design high-quality relational database so that it is at least in 3NF.
    5. The student will demonstrate the ability to implement a relational database design using an industrial-strength database management system, including the principles of data type selection and indexing.
    6. The student will demonstrate the ability to use the data definition, data manipulation, and data control language components of SQL in the context of one widely used implementation of the language.
    7. The student will demonstrate the ability to perform simple database administration tasks including backup and recovery.
    8. The student will demonstrate the ability to understand the concept of database transaction and apply it appropriately to an application context.
    9. The student will demonstrate the ability to create a simple data warehouse (“data mart”).
    10. The student will demonstrate the ability to declare appropriate data types, sizes and constraints on elements and their combinations including DATE and TIME types
    11. The student will demonstrate the ability to create a SQL queries using INSERT, DELETE, SELECT FROM WHERE ORDER BY blocks, UPDATE, use logical operators, set operators, UNION, DISTINCT, LIKE, and BETWEEN operators, GROUP BY HAVING clause, and use them appropriately
    Professional traits
    1. The student will demonstrate the understanding of how structured, semi-structured, and unstructured data are all essential elements of enterprise information and knowledge management. In this context, the students will learn the principles of enterprise search.
    2. The student will demonstrate the understanding of the core concepts of data quality and their application in an organizational context.
  • CS342 (Human Computer Interaction)

    Credits: 3
    Prerequisites: Junior status in IT, SE or IS
    Outcome: OISTP core course

    This course provides the students with an introduction to the understanding of user concerns and promotes advocacy of the user in the development of IT applications and systems. The course develops a mind-set that recognizes the importance of users and organizational contexts. The course introduces user-centered methodologies for the development, evaluation, and deployment of IT applications and systems. The student develops knowledge of HCI topics, including but not limited to such areas as user and task analysis, human factors, ergonomics, accessibility standards, and cognitive psychology. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of the need for understanding the user requirements and explain the importance of user abilities and characteristics in the usability of products.
    2. The student will demonstrate the understanding of the concepts behind making ethical decisions when faced with ethical dilemmas, with reference to general
    3. The student will demonstrate the understanding of cognitive principles – perception, memory, problem solving, etc. and their application to interfaces and products.
    4. The student will demonstrate the ability to explain the conceptual terms for analyzing human interaction with products such as affordance, conceptual models, feedback, constraints, mapping, stages of action, etc.
    5. The student will demonstrate the understanding of ergonomic principles
    6. The student will demonstrate the understanding of the seven stages of action for a task scenario
    7. The student will demonstrate the understanding of how the physical aspects of product or UI design impact its usability
    8. The student will demonstrate the understanding of the connection between the design of a user interface and a model of user domain expertise
    9. The student will demonstrate the ability to describe common usability guidelines and standards
    10. The student will demonstrate the ability to classify usability performance and preference metrics: learning, task time, task completion, and user satisfaction.
    11. The student will demonstrate the ability to describe techniques for developing prototypes of user interfaces and understand the differences between low-fidelity and high-fidelity prototyping
    12. The student will demonstrate the understanding of the requirements from outside agencies and laws, such as ADA 508, for adaptability of user interfaces to fit the requirements of the users abilities
    13. The student will demonstrate the understanding of teamwork concepts including: group and team dynamics, conflict resolution, leadership styles, collaboration and team reporting.
    14. The student will demonstrate the ability to describe the aspects of Human-Computer Interactions which must be considered in designing and implementing secure systems
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to analyze different user populations with regard to their abilities and characteristics for using both software and hardware products
    2. The student will demonstrate the ability to evaluate software user interfaces using the general principles of heuristic evaluation and user observation techniques (SE212)
    3. The student will demonstrate the ability to conduct simple formal experiments to evaluate usability hypotheses. (SE212)
    4. The student will demonstrate the ability to apply user centered design and usability engineering principles as they design a wide variety of software user interfaces (SE212)
    5. The student will demonstrate the ability to integrate domain experts’ knowledge into specific requirements for domain-specific user interfaces
    6. The student will demonstrate the ability to describe different types of interactive environments and the differences in developing user interfaces for different application environments (e.g., Web pages, standalone applications, etc.).
    7. The student will demonstrate the ability to create an appropriate usability test plan and recommend changes based upon the results of a usability test
    Professional traits
    1. The student will develop a concern for safety, security, and human rights to engineering and management decision-making. (NT291)
    2. The student will develop a an ability to participate in interactions with others in which they are able to get their point across, and are also able to listen to and appreciate the points of others, even when they disagree, and are able to convey to others that they have listened. (From NT181)
    3. The student will demonstrate the understanding of the principles of ethics as well as codes of ethics for engineering, computing, and software engineering (NT291)
    4. The student will develop an appreciation for how different personal characteristics (culture, education, perspective) have an effect on the requirements for Information Technology professionals.
    5. The student will demonstrate an awareness and concern for various ethical issues associated with the web, including the digital divide, issues concerning race and gender, and freedom of speech
  • CS400 (Project Management and Integration)

    Credits: 4
    Prerequisites: CS332
    Outcome: OISTP core course

    This course provides the students with an introduction to project planning, cost estimation, scheduling and project management tools. The student learns about the factors influencing productivity, success, productivity metrics, and the analysis of options and risks. The student learns the importance of planning for change and management of expectations. The student learns the importance of Software contracts and intellectual property with software process standards and process implementation applied throughout the course. The course introduces approaches to maintenance and long-term software development with release and configuration management. The course uses case studies of real industrial projects to introduce the student to problems that maybe encountered in their career. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of how to elicit organizational requirements using a variety of techniques from various stakeholders and project personnel (SE 324)
    2. The student will demonstrate the understanding of the development lifecycle.
    3. The student will demonstrate the understanding of how to organize and prioritize requirements (SE 324)
    4. The student will demonstrate the understanding of design processes suitable for different types of project (SE 324)
    5. The student will demonstrate the understanding of the use standards in project management, including ISO 10006 (project management quality) and ISO 12207 (software development process) along with the SEI’s CMM model(SE 323)
    6. The student will demonstrate the understanding of how to use standards for quality, process and project management(SE 324)
    7. The student will demonstrate the understanding of how to apply management techniques to projects that follow agile methodologies, as well as methodologies involve larger-scale iterations or releases(SE323)
    8. The student will demonstrate the understanding of how to effectively estimate costs for development and evolution of a system using several different Techniques(SE 323-4)
    9. The student will demonstrate the understanding of how to draft and evaluate basic software licenses, contracts, and intellectual property agreements, while recognizing the necessity of involving legal expertise (SE 323)
    10. The student will demonstrate the ability to describe and apply the laws that affect software engineers, including laws regarding copyright, trademarks, patents, and other intellectual property (NT 291)
    11. The student will demonstrate the understanding of how to analyze the economic effect of alternative investment decisions, marketing decisions, and design decisions, considering the time value of money and potential risk. (NT272).
    12. The student will demonstrate the understanding of legal responsibilities imposed by various agencies including: ADA, HIPPA, FERPA, E.U. Data Protection act, Gramm-Leach-Baily act,
    13. The student will demonstrate the understanding of organizational context and culture and how each has an effect on project management.
    14. The student will demonstrate the understanding of how to manage various risks in the Information Technology environment and develop security and disaster recovery plans.
    15. The student will demonstrate the understanding of accountability, responsibility and liability and how each has a different meaning and scope.
    16. The student will demonstrate the understanding of the advantages and disadvantages of in-sourcing or out-sourcing of Information Technology development projects and IT services, and adapting exiting software or purchasing off the shelf.
    17. The student will demonstrate the understanding of “architecture” and the architectural views, frameworks and models in the context of system integration and architecture
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to develop a comprehensive project plan and schedule for a significant development effort (SE323-4)
    2. The student will demonstrate the ability to create / update management requirements, plans and policies
    3. The student will demonstrate the ability to measure project progress, productivity and other aspects of the software process (SE 323-4)
    4. The student will demonstrate the ability to use configuration management tools effectively, and apply change management processes properly(SE 323)
    5. The student will demonstrate the ability to apply function point measurement techniques(SE323) and earned-value analysis techniques (SE 323)
    6. The student will demonstrate the ability to perform simple break-even analyses (NT272) and simple cost-benefit analyses. (NT272).
    7. The student will demonstrate the ability to review written technical documentation to detect problems of various kinds (From NT181)
    8. The student will demonstrate the ability to assess a software process, to evaluate how effective it is at promoting quality (SE 324)
    9. The student will demonstrate the knowledge and ability to develop a Request for Proposal (RFP).
    Professional traits
    1. The student will develop a concern for the effect of software engineering decisions on society, the economy, the environment, their customers, their management, their peers, and themselves. (NT291)
    2. The student will understand the importance of the various different professional societies relevant to software engineering in the state, province or country, as well as internationally (NT291)
    3. The student will understand the role of standards and standards-making bodies in engineering and software engineering. (NT 291)
    4. The student will understand the need for continual professional development as an engineer and a software engineer. (NT291)
    5. The student will demonstrate the ability to write clear, concise, and accurate technical documents following well-defined standards for format and for including appropriate tables, figures, and references. (From NT181)
    6. The student will demonstrate the ability to make to use profession codes of conduct and to make ethical decisions.
  • CS480 (Senior Capstone I)

    Credits: 1
    Prerequisites: CS400
    Outcome: OISTP core course

    None

    In this course the student develops a project plan for a significant software system employing knowledge gained from courses throughout the program to be implemented in Capstone II. The course demonstrates the ability for the student to develop a project plan which includes: the development of requirements, design of the product, implementation schedule, and quality assurance. Students may follow any suitable process model, must pay attention to quality issues, and must manage the project themselves, following all appropriate project management techniques. Success of the project is determined in large part by whether students have adequately solved their customer’s problem. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate an understanding of professional, ethical, legal, security and social issues and responsibilities
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to use knowledge and understanding computing and mathematics developed throughout the program.
    2. The student will demonstrate the ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
    3. The student will demonstrate the ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
    4. The student will demonstrate the ability to analyze supply and demand for products (NT272).
    5. The student will demonstrate the ability to identify and analyze user needs and take them into account in the selection, creation, evaluation and administration of computer-based systems
    6. The student will demonstrate the ability to develop and deliver a good quality formal presentation. (From NT181)
    7. The student will demonstrate the ability to use current techniques, skills, and tools necessary for computing practice
    8. The student will demonstrate the ability to perform risk management and, dynamically adjusting project plans(SE 323-4)
    9. The student will demonstrate the ability to perform root cause analysis, and work towards continual improvement of process(SE 324)
    10. The student will demonstrate the ability to use and apply current technical concepts and practices in the core information technologies
    Professional traits
    1. The student will develop skills to negotiate basic agreements with peers. (From NT181)
    2. The student will demonstrate an ability to communicate effectively with a range of audiences
    3. The student will demonstrate an ability to analyze the local and global impact of computing on individuals, organizations, and society
    4. The student will demonstrate the recognition of the need for and an ability to engage in continuing professional development

    Course materials

    • Instructor will provide information on obtaining supplemental materials.
  • CS481 (Senior Capstone II)

    Credits: 1
    Prerequisites: CS480
    Outcome: OISTP core course

    None

    In this the student implements the outcomes of the project plan outlined in Capstone I by employing knowledge gained from courses throughout the program. The course demonstrates the ability for the student to implement the details of the plan which includes the requirements, design of the product, implementation schedule, and quality assurance. Students may follow any suitable process model, must pay attention to quality issues, and must manage the project themselves, following all appropriate project management techniques. Success of the project is determined in large part by whether students have adequately solved their customer’s problem. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate an understanding of professional, ethical, legal, security and social issues and responsibilities
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to apply the knowledge and understanding computing and mathematics developed throughout the program.
    2. The student will demonstrate the ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
    3. The student will demonstrate the ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
    4. The student will demonstrate the ability to analyze supply and demand for products (NT272).
    5. The student will demonstrate the ability to develop and deliver a good quality formal presentation. (From NT181)
    6. The student will demonstrate the ability to use current techniques, skills, and tools necessary for computing practice
    7. The student will demonstrate the ability to perform risk management and dynamically adjusting project plans(SE 323-4)
    8. The student will demonstrate the ability to perform root cause analysis, and work towards continual improvement of process(SE 324)
    9. The student will demonstrate the ability to use and apply current technical concepts and practices in the core information technologies
    10. The student will demonstrate the ability to effectively integrate IT-based solutions into the user environment
    11. The student will demonstrate the ability to assist in the creation of an effective project plan
    Professional traits
    1. The student will develop skills to negotiate basic agreements with peers. (From NT181)
    2. The student will demonstrate an ability to communicate effectively with a range of audiences
    3. The student will demonstrate an ability to analyze the local and global impact of computing on individuals, organizations, and society
    4. The student will demonstrate the recognition of the need for and an ability to engage in continuing professional development
    5. The student will demonstrate the an understanding of best practices and standards and their application
    6. Information Technology

    Course materials

    • Instructor will provide information on obtaining supplemental materials.
  • CS499 (Special Project)

    Credits: 1-3
    Prerequisites: consent of instructor
    Outcome: OISTP elective course

    None

    This course is individually crafted for each student.

    Course learning outcomes

    • Determined by instructor for each instance of this course.

    Course materials

    • Instructor will provide information on obtaining supplemental materials.
  • IT256 (Game Development and Programming)

    Credits: 4
    Prerequisites: CS140 or consent of instructor
    Outcome: OISTP elective course

    Students will study the principles of game design and use this knowledge to program their own games. Students will also learn about a game's components: the representation of the player, of artifacts, the virtual environment that contains them, and the interaction between them and the player. Detailed description

    Course learning outcomes

    • Students will learn how to design and program games in an object oriented language (Java). This outcome will be addressed in parts 3-5 of the course (see course outcomes below).
    • Students will build upon fundamental programming concepts explored in CS140.
    • Students will learn how to design games using structured and object oriented design techniques. This specific outcome will be covered in part 2 of the course.
    • This course will cover flow charting, UML and other design tools.
    • Best practices for game design and object oriented programming in general will be discussed and reinforced in parts 2-5 of the course.
    • Select student programming assignments will require independent critical thinking in order to develop an appropriate solution.
    • Students will learn about team collaboration as part of the term project assignment. The project planned is a significant work in game design and programming requiring the collaboration of a group of students.
    • Group dynamics, team leadership, and project management will be discussed.
  • IT310 (Networking)

    Credits: 4
    Prerequisites: CS212
    Outcome: IT major/minor course

    The course introduces the student to machine to machine communication architectures for the modern computer systems. The student will be able to select, design, deploy, integrate, and administer network and communication infrastructures in an organization. In this course the student will develop a deep understanding of how networks work and how to work with them. Topics include LANs, WANs, service providers, packets, hubs, routers, switches, internet protocols, network administration and security. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the knowledge of networking standard bodies (IEEE, ANSI, ISO, TIA, EIA etc…) and importance of standard for communication and networking
    2. The student will demonstrate the understanding of the OSI networking models and it importance.
    3. The student will demonstrate the ability to identify various communication and terminal equipment used in networking (nodes)
    4. The student will demonstrate the ability to identify the communication channels and the media utilized by various communications equipment in networking (links).
    5. The student will demonstrate the ability to identify and explain the similarities and differences between LANs and WAN and why each is used in in an organizational context
    6. The student will demonstrate the understanding of the concepts of capacity, bandwidth and throughput, noise and the relationship between the concepts using Shannon’s theories
    7. The student will demonstrate the ability to identify different network topologies and contrast them in terms of robustness, expandability and throughput.
    8. The student will demonstrate the ability to summarize and describe the data communications and telecommunications models, topologies, protocols (TCP, UDP, IP, etc..), standards and architectures in use today
    9. The student will demonstrate the understanding of concepts and the “building blocks” of today’s data communication networks such as switches, routers, and cabling.
    10. The student will demonstrate the understanding of the terms latency, response time, and jitter and describe their impact on network performance.
    11. The student will demonstrate the understanding of secret-key (symmetric and asymmetric) algorithms and how they are used for network authentication, data security, SSL, SSH and SFTP
    12. The student will demonstrate the understanding of network security including: authentication, authorization, firewalls, intrusion detection, and Access Control Lists
    13. The student will demonstrate the understanding of network error handling methods including: parity, CRC, EDC
    14. The student will demonstrate the understanding of the differences between asynchronous and synchronous communication
    15. The student will demonstrate the understanding of network services including: DHCP, NAT, PAT
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to analyze and compare the use of various communication protocols in different applications
    2. The student will demonstrate the ability to select, install, configure, update and troubleshoot and use appropriate network equipment (end devices, routers, switches, firewalls etc…) for local and wide area networks of their design.
    3. The student will demonstrate the ability to select, install, configure, update and use network management tools to collect performance data from a set of network nodes
    4. The student will demonstrate the ability to develop and implement a security plan as it relates to the network components of an organization
    5. The student will demonstrate the ability to develop and implement a backup and disaster recovery plan as it relates to the network components of an organization
    6. The student will demonstrate the understanding and the ability to use remote access and point to point VPN networks
    7. The student will demonstrate the understanding and the ability to setup both wired and wireless networks with the appropriate level of security.
    Professional traits
    1. The student will develop skills in logical reasoning and decomposition in a communication environment.
    2. The student will develop an understanding of the importance of communication standards and protocols at the networking level.
    3. The student will develop an appreciation of the importance of network operation on local communication and distributed processing in databases, files server and worldwide business operations.
    4. The student will develop a solid work ethic showing determination and diligence.
  • IT320 (Web Systems and System Integration)

    Credits: 4
    Prerequisites: CS212
    Outcome: IT major/minor course.

    The course students will learn about web technologies and systems integration. The student will learn basic web design, configuration, management and security. The students will learn various P2M, M2P, and P2P, M2M communication standard and protocols. The students will learn various frameworks and architectures used in the web systems and system integration. Topics included are hypertext, self-descriptive text, web page design and development, web navigation systems, digital media, web services and vulnerabilities of web systems. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the knowledge of web standards (specifications, guidelines including accessibility, software, and tools) and standard bodies including the World Wide Web Consortium (W3C).
    2. The student will demonstrate the understanding of the structure of the World Wide Web as interconnected hypertext documents with the related web Standards in terms of specifications, guidelines, software, and tools.
    3. The student will demonstrate the understanding of the current uses web servers and their requirements, including: application servers, streaming media servers and transformational servers.
    4. The student will demonstrate the understanding of HTTP, HTTPS, HTML, CSS, DHTML, XML, and Javascript
    5. The student will demonstrate the understanding of server-side and client-technologies, programming and security and be able to provide the advantages and disadvantages of both.
    6. The student will demonstrate the understanding of various programming technologies including PHP, ASP, JSP, etc…
    7. The student will demonstrate the understanding of web service including: XML, SOAP, WSDL and DTD, UDDI, XSL, XSLT and Xpath
    8. The student will demonstrate the understanding of web server security including: https, sftp and ssl, security certificates
    9. The student will demonstrate the understanding of cookies including: usage and client and server safeguards
    10. The student will demonstrate the understanding of use of proprietary media and technologies including: flash, RealMedia and quicktime
    11. The student will demonstrate the understanding of the characteristics of various web-based communication media, such as Listservs, discussion boards, wikis, blogs, and chat-rooms
    12. The student will demonstrate the understanding of importance of using design patterns including: MVC, singleton, factory method, façade, proxy, decorator, and observer
    13. The student will demonstrate the understanding of the role of DCOM, CORBA, and RMI in distributed processing
    14. The student will demonstrate the understanding of integration concepts including middleware, wrapper code and glue code.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to install and configure Apache and IIS on the appropriate OS
    2. The student will demonstrate the ability to develop a website including HTML, CSS, Forms, and JavaScript
    3. The student will demonstrate the ability to install and add plugins and runtime environments to IIS and apache including: PHP, .Net, ASP,
    4. The student will demonstrate the ability to install and configure a database for the use with the website to store, retrieve and update form data.
    5. The student will demonstrate the ability to develop a set of forms to add, display, and update to add data to the database.
    6. The student will demonstrate the ability to develop a web service in C# and Java
    Professional traits
    1. The student will demonstrate an appreciation for the breadth of Web systems
    2. The student will demonstrate an understanding of how Integrative Programming can utilize security and information assurance concepts to ensure the development of secure systems and applications
  • IT348 (Advanced Computer Networks)

    Credits: 3
    Prerequisites: IT310
    Outcome: IT elective course.

    This course provides an in-depth view of networking issues and solutions, strengthening the student's understanding of fundamental concepts, requirements and design tradeoffs, particularly as related to congestion control, routing, scheduling, and overlay and wireless architectures. IT 348 covers the basic knowledge needed to design current and future networks capable of providing ubiquitous high-quality support in heterogeneous environments. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of architectural design issues and advance concepts involved with the OSI model
    2. The student will demonstrate the understanding of advanced topics in Ethernet, Token Ring, FDDI, LAN Bridges/Switches, Spanning Tree, Source Route Bridging.
    3. The student will demonstrate the understanding of network simulation modeling using acquired requirements as a basis for the model
    4. The student will demonstrate the greater understanding of IP Version The student will demonstrate the understanding of Best practices for network design and support
    5. The student will demonstrate the understanding of routing implementations, stability/convergence, link-state vs. distance-vector vs. path-vector, conventional routing (RIP, IGRP, BGP, OSPF,...), multi-path and type-of-service (ToS) routing
    6. The student will demonstrate the understanding of flow and congestion control algorithms.
    7. The student will demonstrate the understanding of fairness, stability, open-loop vs. closed-loop, traffic specification (leaky-bucket), and Window vs. rate controls.
    8. The student will demonstrate the understanding of various network management and security issues
    9. The student will demonstrate the understanding of overlays (file sharing), voice-over-IP, and wireless ad-hoc and sensor networks
    10. The student will demonstrate the understanding of WAN Technologies, Wireless technologies, IPv6, MobileIP, and IP Multicast
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to use network simulators to evaluate and design networks
    2. The student will demonstrate the ability to Write simulation models for network problems
    3. The student will demonstrate the ability to configure networking devices to use the appropriate protocols for a given scenario.
    4. The student will demonstrate the ability to use the features of IPv6 in a networking solution.
    Professional traits
    1. The student will develop a concern for the effect of networking decisions have on society, the economy, the environment, their customers, their management, their peers, and themselves.
    2. The student will understand the role of standards and standards-making bodies in network management. (NT 291)
    3. The student will understand the need for continual professional development as an network engineer or administrator. (NT291)
  • IT360 (Computer Forensics and Incident Response)

    Credits: 3
    Prerequisites: IT310 and IT320
    Outcome: IT elective course.

    This course introduces the three steps of effective response to cyber-security incidents. Detection of an incident, either in progress or after the fact, is the first step. Second, action must be taken to mitigate harmful effects of the incident. Third, the vulnerabilities that led to the compromise of security must be identified, and action taken to prevent similar occurrences in the future. Strategies for developing appropriate security policies and procedures will be covered, as well as techniques for preserving evidence. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the knowledge of how digital forensics fits with the other forensic disciplines
    2. The student will demonstrate the knowledge of Intrusion detection including: types of incidents, tools (including IDS) and procedures.
    3. The student will demonstrate the knowledge of types of legal systems used by countries in the world
    4. The student will demonstrate the knowledge of Incident response including: developing and testing an incident response plan, coordinating an incident response team (CERT), and countermeasures for various incidents and restoring normal business operations.
    5. The student will demonstrate the knowledge of Computer Forensics including: determining the source of an incident and preserving evidence.
    6. The student will demonstrate the knowledge of the difference between the rules for a corporation seizing its property from an employee and law enforcement’s seizing of property from a citizen
    7. The student will demonstrate the understanding of the difference between ethical and unethical hacking and cracking.
    8. The student will demonstrate the understanding of concept of “reasonable expectation of privacy”, its relationship to corporate policy banners displayed on workstations, and the use of email as evidence in the prosecution of an employee by the corporation
    9. The student will demonstrate the knowledge of the methods for hiding information on a typical file system
    10. The student will demonstrate the knowledge of the areas on a disk that could contain evidence that are not accessible through normal operating system access and understand why “free space” often contains interesting data.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to perform a penetration test (active attacks/passive attacks) against an organization’s network
    2. The student will demonstrate the ability to use methods for capturing a disk drive as evidence and proving its integrity for legal evidence purposes
    3. The student will demonstrate the ability to perform a basic media analysis of a captured drive using a forensic toolkit
    Professional traits
    1. The student will develop skills conduct reviews and inspections with a critical eye and attention to detail.
    2. The student will develop an ethical awareness toward technology and its uses.
  • IT370 (Network Management)

    Credits: 3
    Prerequisites: IT348 or consent of instructor
    Outcome: IT elective course.

    This course focuses on the application of networking concepts related to the management of computer networks. It covers the general challenges faced in the management of modern data and telecommunications networks with an emphasis on data network management. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the knowledge of network management, network management goals and network management facilities require to meet those goals.
    2. The student will demonstrate the understanding of the network management architecture
    3. The student will demonstrate the understanding of the network management standards, models, languages and protocols.
    4. The student will demonstrate the understanding of the network management application including: remote monitoring tools, including RMON, and web-based management
    5. The student will demonstrate the understanding of the networking mapping including SNMPv1-3
    6. The student will demonstrate the understanding of ATM Networks and Broadband Network Management
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to use network management tools, systems, and applications.
    2. The student will demonstrate the ability to diagnosis problems and use of diagnostic and auditing tools.
    3. The student will demonstrate the ability to install, maintain and manage networks and internet using management tools and systems.
    4. The student will demonstrate the ability to secure networks and identify security threats
    Professional traits
    1. The student will develop a concern for the effect of network managements on society, the economy, the environment, their customers, their management, their peers, and themselves. (NT291)
    2. The student will understand the importance of the various different professional societies relevant to software engineering in the state, province or country, as well as internationally (NT291)
    3. The student will understand the role of standards and standards-making bodies in network management. (NT 291)
    4. The student will understand the need for continual professional development as an network engineer or administrator. (NT291)
    5. The student will demonstrate the ability to write clear, concise, and accurate technical documents following well-defined standards for format and for including appropriate tables, figures, and references. (From NT181)
  • IT410 (Information and System Security)

    Credits: 3
    Prerequisites: CS400
    Outcome: IT major course

    Because IT systems are increasingly under attack, knowledge of Information Assurance and Security (IAS) is of paramount importance to the profession of IT. The IT professional must understand, apply, and manage information assurance and security in computing, communication, and organizations systems. It is also important for the IT professional to provide users with a framework to be sufficiently security aware to be an asset to the organization rather than a liability. Topics in the course include operational issues, policies and procedures, attacks and defense mechanisms, risk analysis, recovery, and information security. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the knowledge of the relationship between threats, vulnerabilities, countermeasures, attacks, compromises and remediation.
    2. The student will demonstrate the understanding of how IT system components (e.g. servers, routers, people, and software) can be countermeasures, vulnerabilities, and also threats.
    3. The student will demonstrate the knowledge of various system and network attacks and how they are accomplished and remediated, including: denial of service, virus, worms, spyware, zombie process, phishing
    4. The student will demonstrate the understanding of Evidence-Based Security and Code Access Security
    5. The student will demonstrate the understanding of secure coding practices including: buffer overflow avoidance, securing state data, securing method access, wrapper code, user input validation, securing communication, protecting objects and robust error handling.
    6. The student will demonstrate the understanding of the MSR Model, proposed by Maconachy, Schou, Ragsdale, Welch, including: Security Services, Information States, Countermeasures and how the interrelate
    7. The student will demonstrate the understanding of forensics and describe when a forensics investigation would be necessary
    8. The student will demonstrate the understanding of Security Mechanisms including access control, authentication, authorization, physical security (including biometrics), encryption (symmetric and asymmetric), digital certificate and signatures.
    9. The student will demonstrate the understanding of how software and hardware contributes to the vulnerabilities for an organization. Consider design, implementation, and installation issues.
    10. The student will demonstrate the understanding of the importance of and key elements involved in incident tracking to develop an incident handling and reporting process
    11. The student will demonstrate the understanding of describe the purpose and elements of the key types of security audits
    12. The student will demonstrate the understanding of the role of the user in information assurance , the role of policy and procedure in the IAS Model , why policy and procedure are listed as countermeasures, and how poorly defined and executed policies can be a vulnerability
    Cognitive and Technical Skills
    1. The student will demonstrate the ability develop a threat analysis document with recommendations on counter measures and the ability to use this information for a security plan.
    2. The student will demonstrate the ability to identify when an attack occurs and propose the appropriate solutions
    3. The student will demonstrate the ability to protect clients from viruses, spyware and zombie processes using various tools
    4. The student will demonstrate the ability to identify risks and develop a disaster recovery plan
    5. The student will demonstrate the ability to describe the role of the user in information assurance and how they fit into an overall information assurance plan for an organization.
    6. The student will demonstrate the ability to describe how ignorance and carelessness leads to vulnerabilities for an organization
    7. The student will demonstrate the ability to identify and describe the nine steps to assess risks associated with security specified by the National Institute of Standards and Technology (NIST).
    Professional traits
    1. The student will develop skills conduct reviews and inspections with a critical eye and attention to detail.
    2. The student will develop the understanding of the legal and ethical considerations related to the handling and management of enterprise information assets and what constitutes admissible evidence in a legal proceeding.
    3. The student will develop the understanding of the importance of utilizing standards and key standard processes currently utilized in information assurance and their areas of relevance
    4. The student will develop the understanding of the impact of IAS on society and on one’s professional and personal practice
    5. The student will develop the understanding of the role of integrity, confidentiality, availability, authentication, and non-repudiation as security services
    6. The student will demonstrate an ability to function effectively on teams to accomplish a common goal.
  • IT420 (Security Cyber Systems)

    Credits: 3
    Prerequisites: IT410
    Outcome: IT elective course.

    In the previous course IT 410, students were introduced to the broad ideas of information assurance and cyber-security. In this class students will learn the details of how to secure an organization's technological infrastructure, including securing computers, web and database servers and additional network components.

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the ability to define white hat, black hat, hacker and cracker
    2. The student will demonstrate the understanding of how culture, community, tools, and technologies contribute to compromising systems.
    3. The student will demonstrate the knowledge of tools and technologies used in passive and active attacks including, Social Engineering, Denial of Service, Buffer Overflow, OS and application exploits, viruses, malware, Trojan horses.
    4. The student will demonstrate the understanding of the difference between ethical and unethical hacking and cracking.
    5. The student will demonstrate the understanding of analyses the weaknesses in protocols and standard and use the weaknesses to develop exploits.
    6. The student will demonstrate the understanding of how inside and external attacks are similar and are different
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to plan a social engineering attack against an organization’s network
    2. The student will demonstrate the ability to plan a DoS attack against an organization’s network
    3. The student will demonstrate the ability to perform a vulnerability analysis and test a system for vulnerabilities
    4. The student will demonstrate the ability to compare and contrast various attack methodologies and differentiate between internal and external attacks
    Professional traits
    1. The student will develop skills conduct reviews and inspections with a critical eye and attention to detail.
    2. The student will develop an ethical awareness toward technology and its uses.
    3. Information Systems
  • IS310 (Systems Analysis and Design)

    Credits: 3
    Prerequisites: CS130
    Outcome: IS major course

    This course discusses the processes, methods, techniques and tools that organizations use to determine how they should conduct their business, with a particular focus on how computer-based technologies can most effectively contribute to the way business is organized. The course covers a systematic methodology for analyzing a business problem or opportunity, determining what role, if any, computer-based technologies can play in addressing the business need, articulating business requirements for the technology solution, specifying alternative approaches to acquiring the technology capabilities needed to address the business requirements, and specifying the requirements for the information systems solution in particular, in-house development, development from third-party providers, or purchased commercial-off-the-shelf (COTS) packages. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of the types of business needs that can be addressed using information technology-based solutions.
    2. The student will demonstrate the understanding of how to initiate, specify, and prioritize information systems projects and to determine various aspects of feasibility of these projects.
    3. The student will demonstrate the understanding of how to clearly define problems, opportunities, or mandates that initiate projects.
    4. The student will demonstrate the understanding of how to manage information systems projects using formal project management methods.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to design high-level logical system characteristics (user interface design, design of data and information requirements).
    2. The student will demonstrate the ability to use contemporary CASE tools for the use in process and data modeling.
    3. The student will demonstrate the ability to use at least one specific methodology for analyzing a business situation (a problem or opportunity), modeling it using a formal technique, and specifying requirements for a system that enables a productive change in a way the business is conducted.
    4. The student will demonstrate the ability to write clear and concise business requirements documents and convert them into technical specifications within the context of the methodologies they learn.
    5. The student will demonstrate the ability to compare the acquisition alternatives systematically.
    6. The student will demonstrate the ability to incorporate principles leading to high levels of security and user experience from the beginning of the systems development process.
    Professional traits
    1. The student will demonstrate the ability to communicate effectively with various organizational stakeholders to collect information using a variety of techniques and to convey proposed solution characteristics to them.
    2. The student will demonstrate the ability to articulate various systems acquisition alternatives, including the use of packaged systems (such as ERP, CRM, SCM, etc.) and outsourced design and development resources.
    3. The student will demonstrate the ability to analyze and articulate ethical, cultural, and legal issues and their feasibilities among alternative solutions.
  • IS320 (Enterprise Architecture)

    Credits: 3
    Prerequisites: IS310
    Outcome: IS major course

    This course explores the design, selection, implementation and management of enterprise IT solutions. The focus is on applications and infrastructure and their fit with the business. Students learn frameworks and strategies for infrastructure management, system administration, data/information architecture, content management, distributed computing, middleware, legacy system integration, system consolidation, software selection, total cost of ownership calculation, IT investment analysis, and emerging technologies. These topics are addressed both within and beyond the organization, with attention paid to managing risk and security within audit and compliance standards. Students also hone their ability to communicate technology architecture strategies concisely to a general business audience. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of a variety of frameworks for enterprise architecture analysis and decision making.
    2. The student will demonstrate the understanding of the core concepts of data/information architecture and evaluate existing data/information architecture designs.
    3. The student will demonstrate the understanding of the benefits and risks of service oriented architecture.
    4. The student will demonstrate the understanding of the role of audit and compliance in enterprise architecture.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to utilize techniques for assessing and managing risk across the portfolio of the enterprise.
    2. The student will demonstrate the ability to administer systems, including the use of virtualization and monitoring, power and cooling issues.
    3. The student will develop a plan for business continuity.
    4. The student will demonstrate the ability to evaluate the total cost of ownership and return on investment for architecture alternatives.
    5. The student will demonstrate the ability to evaluate and plan for the integration of emerging technologies.
    6. The student will demonstrate the ability to research and develop management proliferating types and volume of content.
    7. The student will demonstrate the ability to understand the integration of enterprise systems with interorganizational partners such as suppliers, government, etc.
    Professional traits
    1. The student will demonstrate the ability to communicate effectively with various organizational stakeholders to collect information using a variety of techniques and to convey proposed solution characteristics to them.
    2. The student will demonstrate the understanding of the value of people, money and time with regard to information systems and information system projects
  • IS348 (Business Process Management)

    Credits: 3
    Prerequisites: IS310
    Outcome: IS elective course

    Not available

    In this course students will be introduced to key concepts and approaches to business process management and improvement. The main focus of this course is both understanding and designing business processes. Students will learn how to identify, document, model, assess, and improve core business processes. Students will be introduced to process design principles. The way in which information technology can be used to manage, transform, and improve business processes is discussed. Students will be exposed to challenges and approaches to organizational change, domestic and offshore outsourcing, and inter-organizational processes. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of the role and potential of IT to support business process management
    2. The student will demonstrate the understanding of the challenges of business process change and how to support the changes
    3. The student will demonstrate the understanding of different approaches to business process modeling and improvement
    4. The student will demonstrate the understanding of the challenges and risks concerning business process outsourcing, especially those dealing with ethnic cultural differences from offshore engagements.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to model business processes
    2. The student will demonstrate the ability to benchmark business processes performance
    3. The student will demonstrate the ability to assess business processes performance
    4. The student will demonstrate the ability to design business process improvements
    5. The student will simulate simple business processes and use simulation results in business process analysis
    6. The student will demonstrate the ability to basic business process modeling tools
    Professional traits
    1. The student will demonstrate an ability to analyze the local and global impact of computing on individuals, organizations, and society
    2. The student will demonstrate the recognition of the need for and an ability to engage in continuing professional development
    3. The student will demonstrate the an understanding of best practices and standards and their application
  • IS360 (IT Security and Risk Management)

    Credits: 3
    Prerequisites: IS320
    Outcome: IS elective course

    Not available

    This course provides an introduction to the fundamental principles and topics of Information Technology Security and Risk Management at the organizational level. Students will learn critical security principles that enable them to plan, develop, and perform security tasks. The course will address hardware, software, processes, communications, applications, and policies and procedures with respect to organizational IT Security and Risk Management. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of the fundamental principles of information technology security.
    2. The student will demonstrate the understanding of the concepts of threat, evaluation of assets, information assets, physical, operational, and information security and how they are related.
    3. The student will demonstrate the understanding of the need for the careful design of a secure organizational information infrastructure.
    4. The student will demonstrate the understanding of both technical and administrative mitigation approaches.
    5. The student will demonstrate the understanding of the need for a comprehensive security model and its implications for the security manager or Chief Security Officer (CSO).
    6. The student will demonstrate the understanding of basic cryptography, its implementation considerations, and key management.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to perform risk analysis and risk management.
    2. The student will demonstrate the ability to create and maintain a comprehensive security model.
    3. The student will demonstrate the ability to apply security technologies.
    4. The student will demonstrate the ability to design and guide the development of an organization’s security policy.
    5. The student will demonstrate the ability to determine appropriate strategies to assure confidentiality, integrity, and availability of information.
    6. The student will demonstrate the ability to apply risk management techniques to manage risk, reduce vulnerabilities, threats, and apply appropriate safeguards/controls.
    Professional traits
    1. The student will demonstrate an ability to analyze the local and global impact of computing on individuals, organizations, and society
    2. The student will demonstrate the recognition of the need for and an ability to engage in continuing professional development
    3. The student will demonstrate the an understanding of best practices and standards and their application
  • IS370 (IT Audit and Controls)

    Credits: 3
    Prerequisites: IS320
    Outcome: IS elective course

    Not available

    This course introduces the fundamental concepts of the information technology audit and control function. The main focus of this course is on understanding information controls, the types of controls and their impact on the organization, and how to manage and audit them. The concepts and techniques used in information technology audits will be presented. Students will learn the process of creating a control structure with goals and objectives, audit an information technology infrastructure against it, and establish a systematic remediation procedure for any inadequacies. The course also covers the challenges of dealing with best practices, standards, and regulatory requirements governing information and controls. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of the role and objectives of information technology audits.
    2. The student will demonstrate the understanding of risks inherent in various types of information systems ranging from manual, basic accounting, to advanced operational information and knowledge for decision making.
    3. The student will demonstrate the understanding of how to design and implement assurance procedures and control measures to effectively manage risks.
    4. The student will demonstrate the understanding of best practices, standards, and regulatory requirements governing information and controls that may vary for an organization’s locations and customers.
    5. The student will demonstrate the understanding of the role of auditing in systems development, including the review of the development process and participation in systems under development.
    6. The student will demonstrate the understanding of data forensics and the processes of securing and preserve evidence
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to develop an appropriate information technology audit process.
    2. The student will demonstrate the ability to identify risks to the confidentially, integrity, and availability of information and processes.
    3. The student will demonstrate the ability to measure the degree of compliance with them.
    4. The student will demonstrate the ability to develop disaster recovery and business continuity plans.
    Professional traits
    1. The student will demonstrate an ability to analyze the local and global impact of computing on individuals, organizations, and society
    2. The student will demonstrate the recognition of the need for and an ability to engage in continuing professional development
    3. The student will demonstrate the an understanding of best practices and standards and their application
  • IS410 (IS Strategy, Management and Acquisition)

    Credits: 3
    Prerequisites: CS400
    Outcome: IS major course

    This course explores the issues and approaches in managing the information systems function in organizations and how the IS function integrates / supports / enables various types of organizational capabilities. This course takes a senior management perspective in exploring the acquisition, development and implementation of plans and policies to achieve efficient and effective information systems. The course addresses issues relating to defining the high-level IS infrastructure and the systems that support the operational, administrative and strategic needs of the organization. The remainder of the course is focused on developing an intellectual framework that will allow leaders of organizations to critically assess existing IS infrastructures and emerging technologies as well as how these enabling technologies might affect organizational strategy. The ideas developed and cultivated in this course are intended to provide an enduring perspective that can help leaders make sense of an increasingly globalized and technology intensive business environment. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of how strategic decisions are made concerning acquiring IS resources and capabilities including the ability to evaluate the different sourcing options.
    2. The student will demonstrate the understanding of the concepts of information economics at the enterprise level.
    3. The student will demonstrate the understanding of existing and emerging information technologies, the functions of IS and its impact on the organizational operations
    4. The student will demonstrate the understanding of the aspects of a business that may be impacted by a security breach or interruption of operation
    5. The student will demonstrate the ability to quantify the financial losses associated with potential security breaches and interruption of operations.
    6. The student will demonstrate the understanding of the costs associated with actions that can be taken to mitigate risks including: disaster and security
    7. The student will demonstrate the understanding of the quantitative and qualitative measures that can be used to assess risk and evaluate the effectiveness of risk management policies and practices
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to apply information to the needs of different industries and areas.
    2. The student will demonstrate the ability to structure IS-related activities to maximize the business value of IS within and outside the company.
    3. The student will demonstrate the ability to evaluate the issues and challenges associated with successfully and unsuccessfully incorporating IS into a firm.
    4. The student will demonstrate the ability to describe the elements contributing to the cost of an organization’s security management and operations process and their relation to risks and losses associated with information assurance or security related issues and incidents.
    5. The student will demonstrate the ability to describe and evaluate employment policies and practices that are relevant to safeguarding an organization's information assets
    6. The student will demonstrate the ability to perform a comprehensive risk assessment for a specified organization and create an Information Risk Management (IRM) policy
    Professional traits
    1. The student will demonstrate the ability to understand the role of IT control and service management frameworks from the perspective of managing the IS function in an organization.
    2. The student will demonstrate the ability to view an organization through the lens of non-IT senior management in deciding how information systems enable core and supportive business processes as well as those that interface with suppliers and customers.
    3. The student will demonstrate the appreciation how IS represents a key source of competitive advantage for firms.
    4. The student will demonstrate the understanding of the various functions and activities within the information systems area, including the role of IT management and the CIO, structuring of IS management within an organization, and managing IS professionals within the firm.
  • IS420 (Enterprise Systems and Integration)

    Credits: 3
    Prerequisites: CS400
    Outcome: IS elective course

    Not available

    This course is designed to provide students with an understanding of the theoretic and practical issues related to the application of enterprise systems within organizations. The main focus of this course is to demonstrate how enterprise systems integrate information and organizational processes across functional areas with a unified system comprised of a single database and shared reporting tools. Enterprise systems, by their multi-dimensional integrative nature, offer the depth of functionality and breadth of integration to demonstrate how global operations of organizations are managed. Thus, students will gain an appreciation of the scope of enterprise systems and the motivation for implementing them. Example software will be used to illustrate how enterprise systems work. An integrated project, which requires the application of conceptual as well as technical (software) skills of students, will be required. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of the fundamentals of enterprise systems and issues associated with their implementation.
    2. The student will demonstrate the understanding of current trends related to enterprise systems.
    3. The student will demonstrate the understanding of the how enterprise systems integrate functional areas into one enterprise wide information system.
    4. The student will demonstrate the understanding of how an organizational process often spans different functional areas.
    5. The student will demonstrate the understanding of the role of enterprise systems in carrying out processes in an organization.
    6. The student will demonstrate the understanding of integration of the key concepts from functional-oriented courses, such as accounting, marketing, and organizational behavior, to promote the development of integrative skills.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to identify, describe, and evaluate the major enterprise system software providers and their packaged systems.
    2. The student will demonstrate the ability to evaluate the costs and benefits of implementing an enterprise system.
    3. The student will demonstrate the ability to explain how “best practices” are incorporated in enterprise systems
    4. The student will demonstrate the ability to explain how integrated information sharing increases organizational efficiencies.
    Professional traits
    1. The student will demonstrate an ability to analyze the local and global impact of computing on individuals, organizations, and society
    2. The student will demonstrate the recognition of the need for and an ability to engage in continuing professional development
    3. The student will demonstrate the an understanding of best practices and standards and their application
    4. Software Engineering
  • SE200 (Advance Computer Programming)

    Credits: 4
    Prerequisites: CS140
    Outcome: SE minor course

    The course introduces the concepts of object-oriented programming to students with a background in the procedural paradigm. The course begins with a review of control structures and data types with emphasis on structured data types and array processing. The course then moves on to introduce the object oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. Other topics include an overview of programming language principles, simple analysis of algorithms, basic searching and sorting techniques, and an introduction to software engineering issues. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the knowledge of object-oriented design including the relationship between an object and its corresponding class.
    2. The student will demonstrate the knowledge of abstraction, encapsulation, and information hiding
    3. The student will demonstrate the knowledge of the separation of behavior and implementation
    4. The student will demonstrate the knowledge of class hierarchies, inheritance and polymorphism
    5. The student will demonstrate the knowledge of the fundamentals of event-driven programming
    6. The student will demonstrate the knowledge the comparison between interpreters and compilers
    7. The student will demonstrate the knowledge of translation phases; machine-dependent and machine-independent aspects of translation.
    8. The student will demonstrate the knowledge of the software evolution cycle, including software maintenance; characteristics of maintainable software; reengineering; legacy systems; and software reuse
    9. The student will demonstrate the ability to compare and contrast the notions of overloading and overriding methods in an object-oriented language.
    10. The student will describe the relationship between the static structure of the class and the dynamic structure of the instances of the class.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to utilize classes, subclasses and methods (including constructors and destructors) within a program.
    2. The student will design, develop, troubleshoot and upgrade a simple software application in and object-oriented language
    3. The student will design, implement, and test the implementation of “is-a” relationships among objects using a class hierarchy and inheritance
    4. The student will develop a simple searching and a sorting algorithms (examples: linear and binary search, selection and insertion sort)
    5. The student will develop a simple GUI interface integrated into an application.
    6. The student will develop a program that utilizes iterators to access the elements of a container.
    Professional traits
    1. The student will develop skills in logical reasoning and decomposition.
    2. The student will develop a solid work ethic showing determination and diligence.
  • SE300 (Data Structures and algorithms)

    Credits: 4
    Prerequisites: SE200
    Outcome: SE minor course

    This course provides the students with an introduction to the fundamental concepts of data structures and the algorithms that proceed from them. Topics include recursion, the underlying philosophy of object-oriented programming, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs), the basics of algorithmic analysis, and an introduction to the principles of language translation. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of the fundamental data structures including: stacks; queues; linked lists; hash tables; trees; and graphs
    2. The student will demonstrate the understanding of the fundamental computing algorithms including: O(N log N) sorting algorithms; hash tables with collision-avoidance strategies; binary search trees; representations of graphs; depth- and breadth-first traversals
    3. The student will demonstrate the understanding of the concept of recursion; recursive mathematical functions; simple recursive procedures; divide-and-conquer strategies; recursive backtracking;
    4. The student will demonstrate the understanding of basic algorithmic analysis including: Asymptotic analysis of upper and average complexity bounds; identifying differences among best, average, and worst case behaviors; big "O," little "o," omega, and theta notation; standard complexity classes; empirical measurements of performance; time and space tradeoffs in algorithms; using recurrence relations to analyze recursive algorithms
    5. The student will demonstrate the understanding of algorithmic strategies: Brute-force algorithms; greedy algorithms; divide-and-conquer; backtracking; branch-and-bound; heuristics; pattern matching and string/text algorithms; numerical approximation algorithms
    6. The student will demonstrate the understanding of software validation; testing fundamentals, test plan creation and test case generation; object-oriented testing
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to develop an implementation of a recursion function used to solve a problem.
    2. The student will demonstrate the ability to develop an implementation of a stack; a queue; a linked list; a hash table; a tree; and a graph and use each to solve simple problems.
    3. The student will demonstrate the ability to develop an implementation of an algorithmic strategy
    4. The student will use a programming language to implement, test, and debug algorithms for solving simple problems and apply effective debugging strategies
    5. The student will use a programming language develop code that responds to exception conditions raised during execution.
    Professional traits
    1. The student will develop skills in logical reasoning and decomposition.
    2. The student will develop a solid work ethic showing determination and diligence.
  • SE310 (Software Application and Interface Design)

    Credits: 4
    Prerequisites: SE300
    Outcome: SE minor course

    The course introduces the student to requirements, design, implementation, reviewing, and testing of simple software and graphical user interfaces that interacts with the operating system, databases, and network. The course introduces the effective use of the facilities of a programming language and the design and analysis of simple algorithms, including those using recursion. The course introduces effective use of simple data structures, such as stacks and queues, frameworks, and APIs when implementing designs. The course introduces the use of simple design patterns such as delegation and the drawing simple UML class, package, and component diagrams. The student is introduced to concepts dealing with change: Evolution principles; handling requirements changes; problem reporting and tracking. Software process; planning and tracking ones work. The student will analyze, develop architecture, and design of simple client-server systems using UML, with an emphasis on class and state diagrams. The student is introduced to the concept for evaluating designs. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the understanding of various techniques to design software, so that it can be changed easily (Modular, Functional, Object, etc..)
    2. The student will demonstrate an introductory understanding of net-centric computing including: Background and history of networking and the Internet; network architectures; the range of specializations within net-centric computing
    3. The student will demonstrate an introductory understanding of networking and communications: Network architectures; issues associated with distributed computing; simple network protocols; APIs for network operations
    4. The student will demonstrate an introductory understanding of the World-Wide Web: Web technologies; characteristics of web servers; nature of the client-server relationship; web protocols; support tools for web site creation and web management
    5. The student will demonstrate an introductory understanding of Network security: Fundamentals of cryptography; secret-key algorithms; public-key algorithms; authentication protocols; digital signatures; examples
    6. The student will demonstrate the ability to describe the advantages and issues associated with virtualization.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to develop a set of clear, concise, and sufficiently formal requirements for extensions to an existing system, based on the true needs of users and other stakeholders
    2. The student will demonstrate the ability to draw simple diagrams representing software designs.
    3. The student will demonstrate the ability to create good UML class and state diagrams.
    4. The student will demonstrate the ability to apply design principles and patterns while designing and implementing simple distributed systems-based on reusable technology
    5. The student will demonstrate the ability to create UML class diagrams which model aspects of the domain and the software architecture
    6. The student will demonstrate the ability to create UML sequence diagrams and state machines that correctly model system behavior
    7. The student will demonstrate the ability to implement a simple graphical user interfaces for a system
    8. The student will demonstrate the ability to apply simple measurement techniques to software
    9. The student will demonstrate the ability to write medium-sized programs, in teams
    10. The student will demonstrate the ability to conduct inspections of medium-sized programs.
    Professional traits
    1. The student will demonstrate an appreciation for the breadth of software engineering
  • SE410 (Software Testing, Validation and Verification)

    Credits: 4
    Prerequisites: SE310
    Outcome: SE minor course

    The course introduces students to testing techniques and principles. Topics include: Defects vs. failures, equivalence classes, boundary testing, Black-box vs. Structural testing and types of defects. The student is introduced to various testing strategies including: unit testing, integration testing, profiling, test driven development, State based testing, configuration testing, compatibility testing, web site testing (Alpha, beta, and acceptance testing). The student gain and understanding of coverage criteria, test instrumentation and tools, developing test plans, managing the testing process, problem reporting, tracking, and analysis. Detailed description

    Course learning outcomes

    Knowledge
    1. The student will demonstrate the ability to use knowledge and understanding developed throughout the program.
    Cognitive and Technical Skills
    1. The student will demonstrate the ability to analyze requirements to determine appropriate testing strategies.
    2. The student will demonstrate the ability to design and implement comprehensive test plans
    3. The student will demonstrate the ability to apply a wide variety of testing techniques in an effective and efficient manner
    4. The student will demonstrate the ability to compute test coverage and yield according to a variety of criteria
    5. The student will demonstrate the ability to use of statistical techniques to evaluate the defect density and the likelihood of faults.
    Professional traits
    1. The student will develop skills conduct reviews and inspections with a critical eye and attention to detail.
  • MATH090 (Foundations of Mathematics)

    Credits: 3
    Prerequisites: Accuplacer Score*<30 or equivalent assessment as approved by the math department or instructor approval. *Taken within the last two years.

    This course emphasizes study skills for algebra and calculator use while covering the following topics: basic algebra including real numbers, variable expressions, solving equations and equation applications. This course is designed for students who have not had a mathematics course for several years or who have never had an algebra course. Students should enroll only if indicated by placement test results. This course is the first in a series of two courses that will prepare the student for the general education requirement in mathematics. Foundations of Mathematics cannot be used to fulfill the mathematics general education requirement. Note: credit from courses below the 100-level counts toward full-time status but does not count toward the minimum 120 credits required for graduation.

  • MATH095 (Beginning Algebra)

    Credits: 3
    Prerequisites: Pass MATH090 or 30<Accuplacer Score*<43 or equivalent assessment as approved by the math department or instructor approval. *Taken within the last two years.

    This course covers topics needed to successfully complete the College Mathematics course. Topics include: polynomials and exponents, factoring and solutions of quadratic equations, rational expressions and equations and linear equations. This course will prepare students for the general education requirement in mathematics. Students should enroll only if indicated by placement test results. Beginning Algebra cannot be used to fulfill the mathematics general education requirement. Note: credit from courses below the 100-level counts toward full-time status but does not count toward the minimum 120 credits required for graduation.

  • MATH105 (College Algebra with Applications)

    Credits: 3
    Prerequisites: Pass MATH095 or 43<Accuplacer Score*<85 or equivalent assessment as approved by the math department or instructor approval. *Taken within the last two years.

    This course is a survey of mathematical applications of functions. Topics that will be covered include: fundamental concepts of algebra; algebraic equations and inequalities; functions and graphs; zeros of polynomial functions; exponential and logarithmic functions; systems of equations and inequalities. The mathematics of finance will also be studied.

  • MATH109 (Quantitative Methods)

    Credits: 3
    Prerequisites: Pass MATH105 or Accuplacer score*>85 or equivalent assessment as approved by the math department or instructor approval. *Taken within the last two years.

    This course is designed for students who have a good foundation in algebra. Topics which will be included are: a brief review of algebra, linear programming, applications of differential and integral calculus. This course will provide business students with the mathematics background needed for higher level business courses.

  • MATH111 (Pre-Calculus Mathematics)

    Credits: 3
    Prerequisites: Students should have had at least one year of plane geometry as taught in high schools, and should have manipulatory skills usually acquired in one and a half years of high school algebra.

    This course encompasses necessary preparation for students who intend to take calculus.

  • MATH120 (Analytic Geometry and Calculus I)

    Credits: 3
    Prerequisites: MATH111 or four semesters of high school algebra, one semester of high school trigonometry, or permission of the instructor.

    This is the first of four courses combining plane and solid analytic geometry, ordinary and partial differentiation, single and multiple integration and infinite series.

  • MATH200 (Analytic Geometry and Calculus II)

    Credits: 3
    Prerequisites: MATH 120

  • MATH 206 (Rational Problem Solving with Real Systems)

    Credits: 3
    Prerequisites: MATH120 (AT LEAST A "C-"), MATH220 (AT LEAST A "C-") AND CS205 (AT LEAST A "C-") OR instructor approval.

    Students will learn how to find the optimal solution to problems involving realistic systems like those found in organizations or computer networks. Students will learn to find the optimal solution of a problem via appropriate use of either rational decision making or mathematical modeling and optimization. Topics include introductions to reasoning and logic, cost benefit analysis, mathematical modeling, graph theory, algorithms, linear programming, network analysis, queuing theory, and simulation modeling.

  • MATH210 (Analytic Geometry and Calculus III)

    Credits: 3
    Prerequisites: MATH 200

  • MATH215 (Analytic Geometry and Calculus IV)

    Credits: 3
    Prerequisites: MATH 210

  • MATH220 (Elementary Statistics)

    Credits: 3
    Prerequisites: Pass MATH105 or Accuplacer score *>85 or equivalent assessment as approved by the math department or instructor approval. *Taken within the last two years

    An introduction to the simpler problems of statistical inference; descriptive statistics, probability distributions, estimation of parameters and level of significance, regression and correlation. Note: Does not apply toward a major or minor in mathematics.

  • MATH223 (Mathematics for Elementary and Middle School Teachers)

    Credits: 3
    Prerequisites: None

    This course incorporates the use of a problem-solving approach in the development of mathematical topics relevant to the K-8 elementary school teacher. Topics will be selected from the following: sets, functions and logic, numeration systems and whole numbers, integers, rational numbers, number theory, decimals, probability and statistics, geometry and concepts of measurement. This course is recommended for anyone who will be teaching mathematics in grades K-8. This course does not satisfy the general education mathematics requirement.

  • MATH250 (Special Topics)

    Credits: 3
    Prerequisites: Consent of an instructor

  • MATH299 (Special Project)

    Credits: 1-3
    Prerequisites: Consent of an instructor

  • MATH300 (Differential Equations 3)

    Credits: 3
    Prerequisites: MATH215 or instructor approval

    An introduction to ordinary differential equations with elementary applications.

  • MATH301 (Linear Algebra)

    Credits: 3
    Prerequisites: MATH210

    This course develops the algebra and geometry of finite-dimensional linear vector spaces and their linear transformations. Also studied are the algebra of matrices and the theory of eigenvalues and eigenvectors.

  • MATH302 (Mathematical Statistics I)

    Credits: 3
    Prerequisites: MATH215 or instructor approval

    This course examines simple probability models, random variables, discrete and continuous distributions, sampling, elementary hypothesis testing and the power of a test, as well as application of probability to statistical methods.

  • MATH303 (Mathematical Statistics II)

    Credits: 3
    Prerequisites: MATH301, MATH302

    This course is the second part of a sequence course. It introduces students to various statistical inference topics: point estimation, interval estimation, and nonparametric tests. In addition, it also examines decision theory, regression analysis, correlation, design and analysis of experiments and time series/forecasting.

  • MATH305 (Discrete Mathematics)

    Credits: 3
    Prerequisites: MATH210 or instructor approval

    This course introduces students to fundamental mathematical concepts and problem solving skills that are used in both the study of more advanced mathematics topics and in understanding the theoretical basis of today's advanced computer related technologies. These concepts include logic, methods of proof, induction, mathematical reasoning, algorithms, recursion, sets, functions, combinatorics, relations and graphs.

  • MATH323 (Number Theory)

    Credits: 3
    Prerequisites: MATH210 or permission of the instructor

    This course is a mathematical investigation of the integers. Several methods of proofs including direct substitution, contradiction and mathematical induction will be utilized to establish relationships among integers. Divisibility, prime numbers, Euclidean Algorithm, Diophantine equations, congruences, Chinese Remainder Theorem, Fibonacci numbers, perfect numbers and other topics will be studied.

  • MATH333 (Concepts of Geometry)

    Credits: 3
    Prerequisites: MATH200

    A study of non-Euclidean geometry and Euclidean geometry motivated by Euclid's Parallel Postulate. The course features a historical as well as mathematically rigorous approach to geometry. Topics include Euclid's Parallel Postulate, Hilbert's Axioms, Neutral Geometry, Non-Euclidean Geometry and Hyperbolic Geometry.

  • MATH340 (Introduction to Real Analysis)

    Credits: 3
    Prerequisites: MATH210 or permission of the instructor

    An introduction to the rigorous treatment of completeness of the real numbers, convergence of sequences, limits and continuity of functions, and differentiation and integration.

  • MATH342 (Numerical Analysis)

    Credits: 3
    Prerequisites: MATH215 or instructor approval

    This is a computer-oriented course, introducing students to numerical methods of solutions to mathematical problems and the programming of these methods. Some knowledge of programming is required, along with calculus and elementary matrix theory.

  • MATH373 (History of Mathematics)

    Credits: 3
    Prerequisites: MATH210 or permission of the instructor

    This course will trace the history of mathematics from ancient mathematics in 3000 B.C. to the development of the calculus in 1700 A.D. Mathematical concepts to be developed through a historical perspective are: equation solving, ideas of calculus, concepts of geometry, trigonometry, astronomy, probability and statistics, linear algebra, number theory and “modern” algebra.

  • MATH402 (Introduction to Modern Algebra)

    Credits: 3
    Prerequisites: MATH210 and consent of the instructor

    An introduction to the study of algebraic systems, including groups, rings and fields, homomorphisms and isomorphisms.

  • MATH403 (Internship)

    Credits: 3
    Prerequisites: Consent of an instructor

  • MATH450 (Special Topics)

    Credits: 1-3
    Prerequisites: Consent of an instructor

  • MATH451 (Seminar)

    Credits: 1
    Prerequisites: Senior status

    Students conduct an in-depth study of a mathematical topic of interest to them which has been approved by the mathematics faculty. An oral and written presentation will be made of their findings. This is a capstone course and is required of all mathematics majors.

  • MATH382 (Actuarial Science P Exam Preparation)

    Credits: 1
    Prerequisites: MATH302, MATH303, BA160, BA201

    This course aims at helping students prepare for the Society of Actuaries P Exam on probability. The application of problems encountered in actuarial science is emphasized. To this end, students will spend their time working on past problems from actual P Exams. Students will be expected to bring their questions to class, and class time will be spent working through them. In order to succeed, students need to be able to analyze a problem and quickly choose an approach to its solution.

  • MATH391 (Financial Mathematics I)

    Credits: 3
    Prerequisites: MATH215, MATH220, BA160, BA161, BA202, BA341, BA343

    This course develops the student's understanding of the fundamental concepts of financial mathematics and how those concepts are applied in calculating present and accumulated values for various streams of cash flows as a basis for future use in reserving, valuation, pricing, asset/liability management, investment income, capital budgeting, and valuing contingent cash flows.

  • MATH392 (Financial Mathematics II and FM Exam Preparation)

    Credits: 3
    Prerequisites: MATH 215, MATH 391, BA310

    This course is the second part of a sequence course. It develops the student's understanding of the fundamental concepts of financial mathematics and how those concepts are applied in calculating present and accumulated values for various streams of cash flows as a basis for future use in reserving, valuation, pricing, asset/liability management, investment income, capital budgeting, and valuing contingent cash flows. In addition, we also will work on some of the past Financial Mathematics Actuarial Science Exam (FM) problems to help students to prepare for the FM exam.

  • MATH499 (Special Project)

    Credits: 1-3
    Prerequisites: Consent of an instructor

Show textbooks only Download bibliography