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

    Knowledge
    1. The student will have an understanding of the importance of data and information in today’s society.
    2. The student will have the ability to define Information Technology and describe the relationship between Information Technology and computing and non-computing disciplines
    3. The student will have an understanding of the History of Information 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.
    4. The student will have an understanding of the purpose and the ability to correctly utilize current software applications, including an integrated software package featuring word processing, spreadsheets, databases, and presentation software.
    5. The student will have an understanding of Overview of operating systems: The role and purpose of operating systems and simple file management
    6. The student will have an understanding of net-centric computing: Background and history of networking and the Internet; demonstration and use of networking software including e-mail, telnet, and FTP
    7. The student will have an understanding of how computing and society impact one another, how IT has impacted the globalization of world economy, culture, political systems, health, security, warfare, etc, and how IT has changed various application domains
    8. The student will have an understanding of heath related issue caused by the use and misuse of technology, such as repetitive stress syndrome, addiction, etc..
    9. The student will have an understanding of social issues caused by the use and misuse of technology
    10. The student will have knowledge of sources of accessibility guidelines and standards ADEA 508, NIMAS, UDL, WCAG, etc.
    11. The student will have knowledge of computer and information security and the mechanism, such as passwords, captcha, biometric access control, encryption and understand the advantages and disadvantages of each.
    12. The student will have an understanding of lossy and lossless compression and the advantages and disadvantages of each.
    13. The student will have an understanding of media acquisition, CODECs and editing tools (GIMP, Audacity, MovieMaker etc…..)
    14. The student will have an understanding of the role of data, information, and databases in organizations identify and explain the need general types of databases: personal, workgroup, department, enterprise.
    Cognitive and Technical Skills
    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 explain the basic issues of data retention, including the need for retention, physical storage, and security.
    3. The student will demonstrate the ability to compress and decompress files using lossy and lossless compression.
    4. The student will demonstrate the ability to explain why data backup is important and how organizations use backup and recovery systems.
    5. The student will demonstrate the ability to describe mechanisms for data collection and their implications (automated data collection, input forms, sources).
    6. The student will demonstrate the ability to setup a personal computer including input and output devices.
    7. The student will demonstrate the ability to install applications and file sharing.
    8. The student will demonstrate the ability to setup a personal wireless and wired network
    9. The student will demonstrate the ability to use media acquisition tools (Audio, Visual, Tactile)
    10. The student will demonstrate the ability to install and check on security devices including: firewalls, virus protections and anti-spyware
    Professional traits
    1. The student will develop an understanding of the rate of change in the information technology field and how that change affects individuals and organizations.
    2. Define data quality, accuracy and timeliness, and explain how their absence will impact organizations.
    3. The student will develop an understanding of how the growth of the Internet and demands for information for users outside the organization (customers and suppliers) impact data handling and processing.
    4. The student will recognize the need to keep technology skills current, and learn tools and methods for acquiring new skills and knowledge.
    5. The student will Explain why life-long learning and continued professional development is critical in every field.
    6. The student will understand why adaptability and interpersonal skills are important in all fields.
    7. The student will understand why the mastery of information and communication technologies is important in all fields.
    8. 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

    Course materials

    • Shelly, G. B., & Vermaat, M. E. (2011). Discovering Computers 2011: Living in a Digital World, Complete. Boston, MA: Course Technology.
    • Shelly, G. B., & Vermaat, M. E. (2011). Microsoft Office 2010: Introductory. Boston, MA: Course Technology. (Optional)
  • 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

    Course materials

    • Burd. Systems Architecture. 6th Edition.
  • CS130 (Foundations of Information Systems)

    Credits: 3
    Prerequisites: CS120
    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

    Course materials

    • Information Systems for Business: An Experiential Approach
  • CS140 (Introduction to Programming)

    Credits: 4
    Prerequisites: CS120
    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

    • Discuss the use of primitive data types and built-in data structures.
    • Describe common applications for each data structure in the topic list.
    • Write programs that use each of the following data structures: arrays, records, strings, linked lists, stacks, and queues.
    • Choose the appropriate data structure for modeling a given problem.
    • Describe a simple hash function.
    • Analyze and explain the behavior of simple programs involving the fundamental programming constructs covered by this unit.
    • Modify and expand short programs that use standard conditional and iterative control structures and functions.
    • 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 conditional and iteration constructs for a given programming task.
    • Apply the techniques of structured (functional) decomposition to break a program into smaller pieces.
    • Describe the mechanics of parameter passing.
    • Discuss and identify the concepts of encapsulation, abstraction, inheritance, and polymorphism.
    • Design, implement, test, and debug simple programs in an object-oriented programming language.
    • Describe how the class mechanism supports encapsulation and information hiding.
    • Design, implement, and test the implementation of "is-a" relationships among objects using a class hierarchy and inheritance.
    • Compare and contrast the notions of overloading and overriding methods in an object-oriented language.
    • Explain the relationship between the static structure of the class and the dynamic structure of the instances of the class.
    • Describe how iterators access the elements of a container.
    • Describe how constructors and destructors relate to the life of an object.
    • Identify and discuss the concept of a class and an object.
    • Discuss the importance of algorithms in the problem-solving process.
    • Identify the necessary properties of good algorithms.
    • Create algorithms for solving simple problems.
    • Use pseudo-code or a programming language to implement, test, and debug algorithms for solving simple problems.
    • Describe strategies that are useful in debugging.
    • Explain the difference between event-driven programming and command-line programming.
    • Design, code, test, and debug simple event-driven programs that respond to user events.
    • Develop code that responds to exception conditions raised during execution.
    • Describe the concept of recursion and give examples of its use.

    Course materials

    • Introduction to Programming with C++
  • CS150 (Programming for the Sciences)

    Credits: 3
    Prerequisites: MATH220 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: CS140
    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

    • Describe how numbers and characters are represented in a computer.
    • Draw a block diagram, including interconnections, of the main parts of a computer.
    • Describe how a computer stores and retrieves information to/from memory and hard drives.
    • Define the terms: bus, handshaking, serial, parallel, data rate.
    • Learn basic assembly language and apply to a programming problem.
    • Estimate the power requirements for a computer system.
    • Explain the need for power and heat budgets within an IT environment.
    • List the various types of servers required within organizations.
    • Describe the need for hardware and software integration.
    • Prepare a computer system for use as a server.
    • Identify the benefits of firmware storage options.
    • Identify the need for versioning.
    • Distinguish between firmware, software and hardware.
    • Complete a comparison in the performance of two different computers with two different operating systems.
    • List the advantages and disadvantages of the five main hardware implementation options.

    Course materials

    • Computer Organization & Architecture: Themes and Variations
  • CS210 (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

    • Define the necessary components and functions of an operating system.
    • Use both Windows and Unix-class systems.
    • Describe the similarities and differences between Windows and Unix-class systems.
    • Explain the benefits of using scripts to perform operating systems tasks.
    • Analyze operating system requirements and recommend an appropriate operating system to meet the requirements.
    • Install a Windows operating system.
    • Install a Unix-class operating system.
    • Plan at least one script to perform an operating system task.
    • Illustrate the ability to install at least one current operating system.
    • Discuss the importance of system configuration for an organization.
    • Describe the importance of system maintenance for an organization.
    • Identify situations in which a system needs to be reconfigured.
    • Recognize when a system requires maintenance.
    • Distinguish between server and client services.
    • Identify situations in which a support organization needs to be consulted in resolving operating system issues.
    • Compare various operating systems and recommend a particular operating system to satisfy given needs.
    • Modify the configuration of an operating system.
    • Analyze the pros and cons of installing service packs and patches.
    • Recommend when service packs and operating system patches should be installed.
    • Install service packs and operating system patches.
    • Install various server and client services.
    • Demonstrate the ability to support various operating systems.
    • Describe the benefits of content management within an organization.
    • Discuss the need for content deployment.
    • Identify and explain the responsibilities associated with server administration and management.
    • Describe the benefits of managing users and groups.
    • Identify the need for managing IT resources.
    • Describe the benefits of automation management.
    • Identify situations in which administrative activities are required.
    • Identify situations which interfere with administrative activities.
    • Identify the need for policies governing of IT systems.
    • Identify the need to train users on IT systems and policies.

    Course materials

    • Silberschatz, A., Galvin, P. B., & Gagne, G. (2011). Operating Systems Concepts Essentials. Hoboken: Wiley.
  • CS330 (Databases and Information Management)

    Credits: 3
    Prerequisites: IT210
    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

    • To give the student an understanding of database management/programming and business problem-solving using a popular database management system.

    Course materials

    • Coronel, C., Morris, S., and Rob, P. (2009). Database Systems - Design, Implementation, and Management. Course Technology.
  • CS340 (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

    • Describe the relationship between the cognitive principles and their application to interfaces and products.
    • Explain the conceptual terms for analyzing human interaction with products such as affordance, conceptual model, and feedback.
    • Analyze different user populations with regard to their abilities and characteristics for using both software and hardware products.
    • Explain the importance of the user abilities and characteristics in the usability of products.
    • Describe several constraints on developing a user interface on a web page not encountered in developing a GUI for a standalone application.
    • Describe several affordances of a web environment that can enhance the usability of a web-based application.
    • Describe the connection between the development of a user interface and the user's knowledge of an application domain.
    • Describe different types of interactive environments other than a computer with a GUI.
    • Match descriptions of cognitive models with the names of the model.
    • Describe the components used in a heuristic evaluation.
    • Demonstrate the steps necessary to perform a simple usability test for an existing software application.
    • Classify usability performance and preference metrics: learning, task time and completion, satisfaction.
    • Describe the major usability guidelines and standards.
    • Describe ways in which users' characteristics (i.e., age, education, cultural differences, etc.) require adaptation of a user interface to increase effectiveness.
    • Define the different types of interaction styles.
    • Describe options for user interfaces for devices that do not support visual output capable of presenting a GUI.
    • Enumerate the options (techniques) for developing prototypes of user interfaces.
    • Describe the differences between low-fidelity and high-fidelity prototyping.
    • List examples of localization and globalization that would impact design.
    • List some of the advantages and disadvantages of limiting access via biometrics.
    • Describe the symptoms of repetitive stress syndrome and list some of the approaches that can ameliorate the problem.
    • List some of the impacts on IT of the ADA 508 law.
    • List several of the emerging alternative I/O devices for computers.
    • List several display types, especially for portable applications.
    • Describe the difference between mobile computing and wearable computing.
    • Give examples of ubiquitous computing, and compare them to pervasive computing examples.
    • List some of the advantages of sensor nets.
    • Explain the characteristics of human-centered design methods.
    • Describe the different software development lifecycles.
    • Describe the attributes of usability.
    • List the advantages and disadvantages for using a human-centered software development approach.
    • Analyze a user population and develop generalized profiles for each.
    • Compare user groups and develop appropriate personas to represent them.
    • Survey the user environment for appropriate tasks.
    • Describe in scenario form a problem situation to be addressed by a new or redesigned product.
    • Compare and contrast personality types and their affect on creating better teams.
    • Describe the basic elements of group dynamics.
    • Compare and contrast different conflict resolution strategies.
    • Contrast and compare basic leadership styles and how they affect teams.
    • Summarize and apply the elements of groupware and how it can be used for team projects.
    • Describe ways in which collaboration can be used to assist in cross-functional teams.
    • Apply cross-functional team reports when developing IT products.
    • Distinguish among copyright, patent, and trademark laws.
    • Discuss the ramifications of trade secret contracts.
    • Discuss the implications of plagiarism both in education and the profession.
    • Discuss how patent and copyright laws may vary internationally.
    • Describe the areas of the Digital Millennium Copyright Act.
    • Describe the areas of the TEACH Act.
    • Outline the technical basis of viruses and denial-of-service attacks.
    • Explain the pros and cons of computer hacking and cracking.
    • Discuss the types of policies that should be included for system use and monitoring.
    • Describe the basis elements of compliance laws - such as ADA508, FERPA and HIPPA.
    • Demonstrate how an application satisfies a particular compliance law.
    • Describe the differences in accountability, responsibility, and liability.
    • Discuss the consequences of software piracy on software developers and the role of relevant enforcement organizations.
    • Discuss how risk can be managed in an information technology environment.
    • Produce a computer use policy with enforcement measures.
    • Outline the basic parts of a typical IT environment.
    • Explain how IT must support business processes.
    • Identify how an IT professional maintains their professional behavior.
    • Explain how an organizational culture can affect IT.
    • Identify the strengths and weaknesses of relevant professional codes as expressions of professionalism and guide to decision-making.
    • Apply appropriate codes in assignments.
    • List the underlying philosophical aspects of ethical decision making.
    • Identify how society has been affected by identify theft and what to do to protect individuals.
    • Discuss the pros and cons of ethical hacking.
    • List the underlying criteria for both HIPPA and FERPA acts.
    • Identify the basic parts of the E.U. Data Protection act.
    • Discuss the Gramm-Leach-Bailey Act and how it protects privacy.

    Course materials

    • Sharp, H., Rogers, Y., and Preece, J. Interaction Design: Beyond Human-Computer Interaction. Wiley.
  • CS400 (Project Management and Integration)

    Credits: 4
    Prerequisites: CS330
    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

    • Describe the key components of a project plan.
    • Describe the importance of a cost/benefit analysis to the successful implementation of a project plan.
    • Describe roles and responsibilities for key project personnel and stakeholders.
    • Use appropriate project planning and tracking tools.
    • Describe issues involved in creating a project schedule.
    • Describe the purpose of a project post-mortem (closeout) and review session.
    • Survey the user environment for appropriate tasks.
    • Classify the different users and their characteristics.
    • Explain the various requirements modeling techniques.
    • Explain how requirements gathering fits into a system development lifecycle.
    • Explain the different types of testing needed for the requirements phase of the lifecycle.
    • Describe the problems that can arise if correct testing requirements are not established for system acceptance.
    • Outline the requirements section of an RFP.
    • Differentiate between build and buy in software and hardware acquisition;
    • Discuss the advantages and drawbacks of building and buying in general;
    • Differentiate between in-sourcing and out-sourcing for the acquisition of IT services, including support;
    • Discuss the advantages and drawbacks of in-sourcing and out-sourcing in general;
    • Discuss the importance of testing, evaluation and benchmarking in any IT sourcing decision;
    • Describe the primary components in an RFP.
    • Discuss the advantages and drawbacks of using RFPs in an IT sourcing decision.
    • Describe the elements in a well-structured contract.
    • Explain the importance of a well-structured contract in any IT sourcing decision.
    • Given an RFP, recommend and justify one or more products that satisfy the criteria of the RFP.
    • Define integration in terms of components and interfaces.
    • Give examples of middleware platforms.
    • List some advantages and disadvantages of some middleware platforms.
    • List some major considerations for enterprise integration platform selection.
    • Give an example of integration using the "wrapper" approach.
    • Give an example of integration using the "glue code" approach.
    • Give an example of how a framework facilitates integration of components.
    • Explain how the data warehouse concept relates to enterprise information integration.
    • Give examples of how testing and evaluation are impacted by integration choices.
    • Define the current testing standards.
    • Explain the various components of usability testing.
    • Describe the techniques used in testing a system or product.
    • Identify appropriate acceptance criteria
    • Describe the relationship between business processes and system integration;
    • Describe the need to take the current IT environment into account in defining a system architecture and in system integration;
    • Describe the importance of organizational culture in any system integration project.
    • Define "architecture" in the context of system integration and architecture. (IEEE Std. 1471)
    • Explain how complex systems can be represented using architectural views and how this facilitates system evolution over time.
    • Explain how some specific architectural views relate to the system lifecycle.
    • Give examples of Architectural frameworks and associated best practice models.
    • Give examples of modeling tools that support description and management of architectural views.
    • Contrast the differences between the structured and object-oriented programming paradigms
    • Diagram and label models for both a compiled program and an interpretative program.
    • Describe the benefits and weakness associated with using a virtual machine.
    • Give an example where an application language and a scripting language would be most appropriate, then give a valid rational to support each choice.
    • Describe and contrast the different types of architectures for integrating systems.
    • Define the role of DCOM, CORBA, and RMI in distributed processing.
    • Describe how web services are used to integrate disparate applications in an organization. Describe the role of the WSDL, SOAP, and UDDI architectures in creating and using web services.
    • Describe the role of socket programming in communicating between systems. Contrast the protocols and uses of TCP/IP sockets and Datagram sockets.
    • Describe the purpose of message and queuing services and how they work. List the protocol used by one messaging service (e.g. JMS).
    • List commonly used low level data communications protocols (e.g., RS232), state conditions for when each protocol should be used, and outline the protocol for one low level communication protocol.
    • Define the term, metadata.
    • Describe the characteristics of each of the following data encoding schemes, and recommend under what conditions each should be used: ASCII, EBCDIC, and Unicode.
    • Tell how XML and the document object model are being used to integrate and exchanging data between systems.
    • Use DTD to create a document definition for a data structure. Given a DTD for data structure create a XML document with real data.
    • Describe how XSL, XSLT and XPath are used to transform data streams.
    • Define the importance of using design patterns. List the motivation for using each of the following design patterns: MVC, singleton, factory method, faГ§ade, proxy, decorator, and observer...
    • Describe what a programming interface is and why it is important to programming. Give an example of where the use of a programming interface simplified the development of a system.
    • Define the concept of inheritance and describe how it can be applied to encourage code reuse. Design an abstract class and use inheritance to create a class that extends the abstract class. Design, develop and test an application that uses the abstract class.
    • Identify key scripting languages used for web scripting, servers-side scripting and operating system scripting.
    • Write, debug and test a script that includes selection, repetition and parameter passing.
    • Contrast Evidence-Based Security vs. Code Access Security.
    • Define the goals of secure coding.
    • Give guidelines for authenticating and defining permissions to systems services and resources.
    • List the issues that should be considered when creating new software vs. adapting existing software to solve a problem.
    • Tell why it is important to version software and describe one mechanism that can be use to control the versioning of software.

    Course materials

    • Schwalbe, K. (2007) Information Technology Project Management. Course Technology Cengage Learning.
  • CS480 (Senior Capstone I)

    Credits: 1
    Prerequisites: CS400
    Outcome: OISTP core course

    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

    • Precisely defining the organizational need.
    • Defining a technological system that will meet the need.
    • Determining the technological requirements to implement the system.
    • Determining how the technological requirements will need to be integrated together and with existing technology.
    • Evaluate project requirements.
    • Define the scope of work.
    • Conduct organizational planning.
    • Identify and evaluate risks.
    • Develop an implementation plan.
    • Manage change control processes.
    • Prepare a project budget, schedule, and evaluation.
    • Determining policies that need to be implemented to meet external legal and privacy requirements as well as internal organizational codes of conduct.
    • Communicate technical information professionally.
    • Communicate information tailored for the audience.
    • Well defined roles and expectations.
    • Respecting other team members, and organizational members.
    • Significantly contributing to the output to the team.
    • Acting ethically within the team.

    Course materials

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

    Credits: 1
    Prerequisites: CS480
    Outcome: OISTP core course

    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

    • Precisely defining the organizational need
    • Defining a technological system that will meet the need
    • Determining the technological requirements to implement the system
    • Determining how the technological requirements will need to be integrated together and with existing technology.
    • Evaluate project requirements
    • Define the scope of work
    • Conduct organizational planning
    • Identify and evaluate risks
    • Develop an implementation plan
    • Manage change control processes
    • Prepare a project budget, schedule, and evaluation.
    • Determining policies that need to be implemented to meet external legal and privacy requirements as well as internal organizational codes of conduct.
    • Communicate technical information professionally
    • Communicate information tailored for the audience
    • Well defined roles and expectations
    • Respecting other team members, and organizational members
    • Significantly contributing to the output to the team
    • Acting ethically within the team

    Course materials

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

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

    This course is individually crafted for each student.

    Course learning outcomes

    Course materials

    • Instructor will provide information on obtaining supplemental materials.
  • IT256 (Game Design 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 IT130 and/or MIS201.
    • 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.

    Course materials

    • Kolling, M. (2010). Introduction to Programming with Greenfoot.
    • Rabin, S. (2005). Introduction to Game Development.
  • IT310 (Networking)

    Credits: 4
    Prerequisites: CS210
    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

    • Recognize the names of networking standards bodies and tell what each does.
    • Describe why standards bodies are essential in networking.
    • Give the OSI networking model and describe why it is important.
    • Give a model of the Internet and describe the functions of the components of the model.
    • Identify various communication and terminal equipment used in networking (nodes).
    • Identify the communication channels and media used by various communication equipment in networking.
    • Explain how LAN technology is used in the organizational context.
    • Explain how WAN technology is used in the organizational context.
    • Identify and explain the similarities and differences between LANs and WANs.
    • Distinguish between LAN and WAN technologies.
    • Identify and explain the concept of throughput as it pertains to a data communications channel.
    • Identify and explain the concept of bandwidth as it pertains to data communication technology.
    • Distinguish the differences between throughput and bandwidth.
    • Identify the relationship between throughput and bandwidth.
    • Identify different network topologies.
    • Explain the importance of communication protocols.
    • Analyze and compare the use of various communication protocols in different applications.
    • Summarize and describe the data communications and telecommunications models, topologies, protocols, standards and architectures in use today.
    • Discuss the concepts and the "building blocks" of today's data communication networks such as switches, routers, and cabling.
    • Explain the operation of various network devices as defined in IEEE standards for network components.
    • Describe the necessary hardware (switches and routers) and components (routing algorithms and protocols) used to establish communication between multiple networks.
    • Discuss the terms latency, response time, and jitter and describe their impact on network performance.
    • Describe the three variables of Shannon's law and how they impact channel capacity.
    • List several types of physical communication media, and compare their bandwidth characteristics.
    • Compare and contrast the historical evolution of the switched and routed infrastructures.
    • Summarize the physical challenges inherent to wireless-fixed and wireless-mobile communication channels.
    • Compare and contrast the following methods of error handling: parity, CRC, EDC.
    • Describe how most modern communication standards are developed, addressing both de-jure and de-facto standards.
    • Describe how digital data can be compressed.
    • Contrast lossy compression and lossless compression.
    • Describe the function of the IEEE 802 standards committee, and list some of their more widely known standards.
    • Compare four networking topologies in terms of robustness, expandability, and throughput.
    • Explain how secret-key algorithms protect data confidentiality during transport over a network.
    • Explain how public-key algorithms are used in the network for authentication.
    • Explain how public-key algorithms are used in the network to negotiate secret keys.
    • Explain how SSL protects confidentiality of a TCP connection.
    • Describe how a remote access VPN works.
    • Describe how a point-to-point VPN works.
    • Describe how firewalls mitigate some network attack scenarios.
    • Explain why weak passwords are a significant problem in networks.
    • Describe a scenario where an IDS could detect a password cracking attempt.
    • List some of the additional security concerns inherent to wired, wireless and mobile.
    • Compare and contrast various network management techniques as they apply to wired and wireless networks. (This will include topics on devices, users, quality of service, deployment, and configuration of these technologies.)
    • Design and implement a local area network.
    • Design a wide area network.
    • Configure the network nodes (computers, routers, etc).
    • Troubleshoot a network problem.
    • Develop and implement a backup and disaster recovery plan as it relates to the network components of an organization.
    • Develop and implement a security plan as it relates to the network components of an organization.
    • Select, install and use appropriate network management tools to collect performance data from a set of network nodes.
    • Describe what would happen to the World-wide web portion of the Internet if the majority of all routers ceased to function.
    • Describe the role of networking in database and file service applications.

    Course materials

    • Comer, D. (2009). Computer Networks and Internets. Upper Saddle River, NJ: Prentice Hall.
  • IT320 (Web Systems and System Integration)

    Credits: 4
    Prerequisites: IT210
    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

    Course materials

  • 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

    • Use and apply current technical concepts and practices in the core information technologies which include computers, programming, networks, databases and web systems.
    • Analyze, identify and define the requirements that must be satisfied to address problems or opportunities faced by organizations or individuals.
    • Design effective and usable IT-based solutions and integrate them into the user environment.
    • Identify and evaluate current and emerging technologies and assess their applicability to address the users' needs.
    • Demonstrate an understanding of best practices and standards and their application.
    • Demonstrate independent critical thinking and problem solving skills.
    • Collaborate in teams to accomplish a common goal by integrating personal initiative and group cooperation.
    • Communicate effectively and efficiently with clients, users and peers both verbally and in writing, using appropriate terminology.

    Course materials

    • Kurose, J., & Ross, K. (2012). Computer Networking: A Top-Down Approach Upper Saddle River, NJ: Pearson.
  • 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

    • Know methods to determine the source of incident.
    • Know how to preserve evidence.
    • Learn about Computer Forensics and Investigation as a Profession.
    • Understand Computing Investigations.
    • The organization of the Investigator's Office and Laboratory.
    • How to do Data Acquisitions.
    • How to process Crime and Incident Scenes.
    • Learn about Current Computer Forensics Tools.
    • Linux Boot Processes and File Systems.
    • Learn about Computer Forensics Analysis and Validation.
    • Know how to recover Graphics Files.
    • Learn about Network Forensics.
    • Understand how to conduct an E-mail Investigation.
    • Overview Cell Phone and Mobile Device Forensics.
    • Know the requirements for Report Writing for High-Tech Investigations.
    • Understand Expert Testimony in High-Tech Investigations.
    • Learn about Ethics for the Expert Witness.
    • Be able to describe the types of incidents that can occur.
    • Understand the procedures and tools for detecting intrusions (IDSs).
    • Be able to develop and test an incident response plan.
    • Be able to coordinating an incident response team (CERT).
    • Understand what counter measures can be taking in response to an incident.
    • Understand how to restoring normal business practices.

    Course materials

    • Nelson, B. et al. (2008). Guide to Computer Forensics and Investigations. Course Technology Cengage Learning.
    • Jones, K. et al. (2006). Real Digital Forensics: Computer Security and Incident Response. Addison-Wesley Professional. (Optional)
    • Whitman, M. & Mattford, H. (2007) Principles of Incident Response and Disaster Recovery. Course Technology Cengage Learning. (Optional)
  • 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

    • Describe network management and what are its goals
    • Describe how network management provides benefits to a company.
    • Students will learn about network topologies and routine maintenance tasks.
    • Describe standards, models, and language used in network management.
    • Students will learn about SNMPv1 Network Management : Organization and Information Models
    • Describe SNMPv1 Network Management, Communication and Functional Models.
    • Explain SNMPv2, SNMPv3, and RMON.
    • Students will learn about ATM Networks and Broadband Network Management
    • Describe how management facilities are built into the network.
    • How to install, maintain and manage networks and internet.
    • Network management tools and network security issues.
    • Diagnosis of problems and use of diagnostic and auditing tools.
    • Remote monitoring tools.
    • Web-based Management.

    Course materials

    • Subramanian, M. (2011). Network Management. Upper Saddle River, NJ: Pearson
  • 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

    • Briefly describe the history of the field of Information Assurance and Security.
    • Explain the relationship between threats, vulnerabilities, countermeasures, attacks, compromises and remediation.
    • Give examples of how IT system components (e.g. servers, routers, people, software) can be countermeasures, vulnerabilities, and also threats.
    • Describe the security mindset and the role of "paranoia" in that mindset.
    • Explain and give examples of why security and assurance must be "built in" to design and architecture from the beginning to be most effective.
    • Outline the system life-cycle and its relationship to security.
    • List the Security Services as defined by the MSR model.
    • List the Information States as defined by the MSR model.
    • List the Countermeasures as defined by the MSR model.
    • Given the MSR model, explain how the components interrelate to categorize threats, vulnerabilities and attacks.
    • Describe a disaster recovery scenario.
    • Define forensics.
    • Describe a situation where a forensic investigation would be necessary.
    • Describe the three key factors involved in authentication and how they are used to verify identity and grant access to a system.
    • Explain the process and value of two-factor authentication.
    • Describe the characteristics of an effective password.
    • Describe and compare physical access control to logical access control.
    • Identify the key types of biometric information utilized in authentication from the perspectives of accuracy, intrusiveness and efficiency.
    • Describe the differences between symmetric and asymmetric cryptosystems, e.g., number of keys required, the types of algorithms used, etc.
    • Explain what is meant by integrity, confidentiality, and authentication.
    • Describe how cryptosystems offer 1) Confidentiality, and 2) Authentication.
    • Describe digital signatures and certificates.
    • Describe how a public key infrastructure (PKI) works.
    • Describe the DES and 3DES algorithms.
    • Demonstrate how public-key cryptography works by the use of public and private keys.
    • Describe the AES algorithm.
    • Describe the differences between block and stream cryptosystems.
    • Explain the differences in efficiency and performance between software based and hardware based cryptosystems.
    • Describe legal and ethical considerations related to the handling and management of enterprise information assets.
    • Specify what constitutes admissible evidence in a legal proceeding and how to acquire and maintain this information.
    • Describe the importance of and key elements involved in incident tracking to develop an incident handling and reporting process.
    • Identify risks associated with disasters or disruptions and specify key mitigation strategies.
    • Identify the types of company assets to be protected by a security plan.
    • Specify the key aspects of physical site security.
    • Describe the elements contributing to the cost of an organizations security management and operations process and their relation to risks and losses associated with information assurance or security related issues and incidents.
    • Describe and evaluate employment policies and practices that are relevant to safeguarding an organization's information assets.
    • Describe the importance of utilizing standards and key standard processes currently utilized in information assurance and their areas of relevance (i.e. DES – Data Encryption Standard).
    • Describe the purpose and elements of the key types of security audits. Discuss how various security standards (i.e. ISO 177799) impact the direction of these audits.
    • Describe the role of policy and procedure in the IAS Model.
    • Explain why policy and procedure are listed as countermeasures.
    • Explain how poorly defined and executed policies can be a vulnerability.
    • Describe how an organization might develop a policy to defend against password vulnerabilities.
    • Describe why a password policy might need to be modified due to changing circumstances.
    • Explain why security policies must consider all aspects of an organization in order to be effective.
    • Give an example of how vulnerability in one area of an organization might enable a compromise in another area.
    • Describe a situation in which an incident would require a full forensic approach including evidence gathering, full chain of custody auditing and expert analysis.
    • Describe how failure to follow good forensic procedures could make prosecution of an attacker impossible.
    • Explain and give examples of the social engineering techniques used to gain access to computing and network assets in an organization.
    • Describe how a Denial of Service attack works against an organization's network.
    • List some different protocol attacks to which TCP/IP is susceptible.
    • Describe how the different protocol attacks (e.g. TCP/IP) works against an organization's network.
    • Explain some techniques used during an active attack.
    • Explain some techniques used during a passive attack.
    • Describe how an active attack might use information from a passive attack to compromise a system.
    • Describe and explain how a Buffer Overflow Attack might be used to compromise a system.
    • Identify and distinguish between the different types of Malware (Viruses, Trojan Horses, Worms).
    • Give examples of shared concerns across a specified set of security domains.
    • Give examples of concerns that are specific to specified security domains.
    • List three types of legal systems used by countries in the world.
    • Describe how digital forensics fits with the other forensic disciplines.
    • Describe a method for capturing a disk drive as evidence and proving its integrity for legal evidence purposes.
    • Explain the difference between the rules for a corporation seizing its property from an employee and law enforcement's seizing of property from a citizen.
    • Give an example of a file representing a document in each of the three states.
    • Justify the statement "An electronic document is frequently in more than one state at the same time."
    • Describe a situation where the same document is in all three states at the same instant of time.
    • Give examples of the relationships between the security services and information states.
    • Give examples of different vulnerabilities that apply to specific states.
    • Explain how the concept of "information state" relates to the concept of a "lifecycle".
    • Describe the possible availability levels for a web service.
    • Describe how redundancy and geographic dispersion relate to availability.
    • Define integrity as a security service.
    • Describe how one-way cryptographic functions are used to implement integrity in document transfer.
    • Define confidentiality as a security service.
    • Describe how cryptographic encryption algorithms are used to implement confidentiality in document transfer.
    • Define authentication as a security service.
    • Describe how one-way functions and encryption are used to implement a typical authentication service.
    • Define non-repudiation as a security service.
    • Describe how one-way functions are used to implement a non-repudiation service.
    • Identify the aspects of a business that may be impacted by a security breach or interruption of operation.
    • Quantify the financial losses associated with potential security breaches and interruption of operations.
    • Identify and describe the nine steps to assess risks associated with security specified by the National Institute of Standards and Technology (NIST).
    • Describe the costs associated with actions that can be taken to mitigate security risks.
    • Explain the differences between a hacker and a cracker. Consider white hat, black hat, culture, community, tools, and technologies used and how they are used by each.
    • Describe the role of the user in information assurance and how they fit into an overall information assurance plan for an organization.
    • Explain how ignorance and carelessness leads to vulnerabilities for an organization.
    • Give an example of how inside and external attacks are similar and are different.
    • List and explain the major network threats and vulnerabilities for an organization.
    • Demonstrate how software contributes to the vulnerabilities for an organization. Consider design, implementation, and installation issues.
    • Demonstrate how hardware contributes to the vulnerabilities for an organization. Consider design, implementation, and installation issues.

    Course materials

    • Stamp, M. (2011). Information Security: principles and practice (2nd ed.), Hoboken: John Wiley & Sons.
    • McClure, S., Scambray, J., and Kurtz, G. (2012) Hacking Exposed 7: Network Security Secrets & Solutions, McGraw-Hill. (Optional)
    • Whitman, M. E., & Mattord, H. J. (2012). Principles of Information Security (4th ed.), Boston: Course Technology. (Optional)
  • 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

    Course materials

    • TBD
  • IS310 (Systems Analysis and Design)

    Credits: 3
    Prerequisites: IS130
    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

    Course materials

    • Systems Analysis and design
  • 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

    Course materials

    • Enterprise Architecture Planning: Developing a Blueprint for Data, Applications, and Technology
  • IS348 (Business Process Management)

    Credits: 3
    Prerequisites: IS310
    Outcome: IS elective course

    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

    Course materials

    • TBD
  • IS360 (IT Security and Risk Management)

    Credits: 3
    Prerequisites: IS320
    Outcome: IS elective course

    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

    Course materials

    • TBD
  • IS370 (IT Audit and Controls)

    Credits: 3
    Prerequisites: IS320
    Outcome: IS elective course

    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

    Course materials

    • TBD
  • 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

    Course materials

    • TBD
  • IS420 (Enterprise Systems and Integration)

    Credits: 3
    Prerequisites: CS400
    Outcome: IS elective course

    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

    Course materials

    • TBD
  • 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

    Course materials

  • 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

    Course materials

  • 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

    Course materials

  • 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

    Course materials

  • 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

  • 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

    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.

  • MATH306 (Rational Problem Solving with Real Systems)

    Credits: 3
    Prerequisites: MATH120 (at least a “C-“) and MATH220 (at least a “C-“) and IT130 (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.

  • 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