2015-2016 Academic Catalog 
    
    May 17, 2024  
2015-2016 Academic Catalog [ARCHIVED CATALOG]

Course Descriptions and Objectives


Note: All courses have identified Course-level Learning Objectives (CLOs) that align with Program-level Learning Outcomes. More information about CLOs and PLOs can be found on the General Education Learning Outcomes  page in this catalog.

Dual Listed Course
A dual listed course is one of two courses that have the same title and content, but use different department abbreviations. One or the other may be taken for credit, but not both. The student must make the choice at the time of registration. Examples: DIVST 125 - Race and Ethnic Relations:CD  and SOC 125 - Race and Ethnic Relations:CD .

 

Computer Information Systems

  
  • CIS 174 - Cisco Networking IV



    5.0 Credits
    Final course mapping to the CCNA exam. Topics include hierarchical network design, PPP and frame-relay, WAN technologies, broadband solutions, IPSec and VPNs, network monitoring, enterprise network troubleshooting, borderless networking, virtualization, and collaboration in network architectures. Prerequisite
    CIS 173 with a minimum grade of 2.5 or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe current network security threats and explain how to implement a comprehensive security policy to mitigate common threats to network devices, hosts, and applications.
    2. Describe the importance, benefits, role, impact, and components of VPN technology.
    3. Describe ACLs, and verify, monitor and troubleshoot ACLs in a network environment.
    4. Explain the basic operation of Network Address Translation (NAT) and Port Address Translation (PAT), and identify, and resolve common NAT and PAT issues.
    5. Configure and verify a basic WAN serial connection, a Point-to-Point Protocol (PPP) connection between Cisco routers, and Frame Relay on Cisco routers.
    6. Explain the operation and benefits of the Dynamic Host Configuration Protocol (DHCP) and the Domain Name System (DNS), and configure, verify, and troubleshoot DHCP and DNS operations on a router.
  
  • CIS 180 - Wireless Networking



    5.0 Credits
    Provides the material and the experience needed for the Certified Wireless Network Administrator (CWNA) exam. Topics include RF Technologies, Wireless LAN Implementation and Management, Wireless LAN Security, and Wireless LAN Standards. Prerequisite
    Instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Install, configure, and deploy common wireless routers using appropriate settings.
    2. Install, configure, and secure a wireless network, including client settings.
    3. Identify data rates and spread spectrum technologies for the various 802.11 standards.
    4. identify and understand numerous security threats and their solutions.
    5. Use a WiFi scanner to observe the radio frequency environment and troubleshoot common wireless problems.
    6. Calculate basic Radio Frequency math.
    7. Compare and contrast wireless encryption protocols.
  
  • CIS 185 - Introduction to Windows Servers



    2.0 Credits
    Introduction to networking and network virtualization. Students configure virtual machine settings, hardware and software, install network operating systems and manage network system settings within a virtual environment. Prerequisite
    (CIS 100 or BSTEC 130) and concurrent enrollment or equivalent. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Install and configure virtualization software and hardware settings on a host system.
    2. Configure network settings on host systems running in a virtual state.
    3. Describe basic networking concepts.
    4. Install and configure Windows Server in a virtual environment.
    5. Configure basic shares and NTFS security settings.
    6. Demonstrate the application of Windows server roles, active directory, domains, and user accounts.
  
  • CIS 198 - Individual Project



    1.0 to 5.0 Credits
    Independent projects under the direction and supervision of a CIS instructor. Prerequisite
    Instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Present evidence of completion of all aspects of a project as specified in a contract created and agreed upon by the student and instructor.
  
  • CIS 199 - Special Projects



    5.0 Credits
    Credit for a design project is available with approval. For more information, please contact the CIS department at 425.640.1902. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Explore current topics of interest in Information Technology.
  
  • CIS 201 - Digital Forensics and the Law



    5.0 Credits
    Covers legal issues relevant to information security and digital forensics professionals. Topics: Electronic discovery, expert testimony, electronic surveillance, evidence retention, preservation and spoliation, privacy issues, Sarbanes Oxley and other legislation. Prerequisite
    CIS 100 and CIS 102 with a minimum grade of 2.5 or concurrent enrollment or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe how electronic discovery differs from digital forensics.
    2. List and describe the common legal issues related to electronic evidence.
    3. Explain and list the various legislation and regulations that impact technology.
    4. Explain how the Fourth Amendment pertains to computer privacy.
    5. Summarize in writing the Washington state laws that pertain to cyber crime.
    6. Critique an acceptable use policy.
    7. List and describe the generally accepted computer forensic procedures and the importance/impact of each.
    8. Analyze and critique forensic analysis reports.
    9. Analyze and critique search warrants, affidavits, and subpoenas.
  
  • CIS 205 - PACE-IT Technology and Integration Support



    44.0 Credits
    Develop the skills needed to obtain entry-level IT positions in computer and network support, including: install, configure, upgrade, support, troubleshoot and repair computers, wired and wireless networks. Maps to the CompTIA A+ and Net+ industry certification exams. Prerequisite
    Acceptance into a PACE-IT grant certificate. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Install, configure, upgrade, support, troubleshoot, and repair computers.
    2. Install, configure, upgrade, support, troubleshoot, and repair wired and wireless networks.
    3. Install, configure, upgrade, and troubleshoot software.
    4. Apply standard customer service skills.
    5. Administer workstation and network assets of a company.
    6. Manage career goals by creating effective resumes / CVs, developing interviewing skills and goal setting.
  
  • CIS 206 - Introduction to Network Security



    19.0 Credits
    Topics include: ensuring compliance and operational security of an organization’s information assets, effectively mitigating risks by implementing security protocols, and identifying security threats and vulnerabilities within networks. Maps to CompTIA Security + certification. Prerequisite
    (A+ and Net+ certification) or (CIS 205) or (CIS 125 and 161 and 163 and CIS 171 with minimum grades of 2.5) or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Identify and analyze administrative and technical strategies for mitigating and managing threats posed to information systems.
    2. Select, configure, and employ the appropriate technical solutions and components to protect a network infrastructure and related information assets.
  
  • CIS 207 - Ethical Hacker



    19.0 Credits
    Topics include: Introduction to digital forensics and conducting vulnerability assessments and penetration tests to identify vulnerabilities that malicious hackers could exploit. Fully maps to the Certified Ethical Hacker certification as well as several competencies in the ACE and CSFA certifications. Prerequisite
    Security+ certification or CIS 206 or (CIS 201 and 274 and 278, each with minimum grades of 2.5) or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Plan and execute a vulnerability assessment and penetration test.
    2. Acquire and document computer based evidence.
    3. Conduct forensics analysis on various types of computing devices and storage media.
  
  • CIS 208 - PACE-IT Web Application Development



    44.0 Credits
    Develop effective web sites using HTML, client-side scripting, and server-side scripting. Specific emphasis is placed on developing interactive web pages that are used to process data from the World Wide Web, Internet or intranets. Topics are closely aligned with industry standards and certifications, such as the Certified Internet Web Professional (CIW). Prerequisite
    Acceptance into a PACE-IT grant certificate. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Build and maintain web sites.
    2. Work with stake-holders to create web sites.
    3. Research, assess, and appropriately apply emerging technology to support web sites as needed in industry.
    4. Comply with the ethics related to the use of copyrighted materials and intellectual property rights.
    5. Demonstrate an entrepreneurial approach to web development sites and pages.
    6. Manage career goals through creating effective resumes/CVs, developing interviewing skills and goal setting.
  
  • CIS 209 - Data Management (PACE-IT)



    15.0 Credits
    Overview of the core knowledge and skills required of data management professionals, including data management principles, data governance, enterprise architecture, database development and operations, data security, metadata, data quality management, data warehousing and business intelligence.  The learning modules are intended to familiarize individuals with the data management body of knowledge in order to prepare for the Certified Data Management Professional (CDMP) exam requirements.

      Prerequisite
    Instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe the overall goals, principles and core functions of data management.
    2. Identify types of data management roles and responsibilities.
    3. Describe basic organizational environment considerations associated with each data management function.
    4. Describe common practices, techniques and tools used within each data management function.
    5. Apply skills and knowledge of at least one data management function to a specific business problem.

  
  • CIS 220 - Enterprise Architecture



    5.0 Credits
    Introduction to enterprise systems architectures from various perspectives; covers conceptual frameworks and considerations for managing enterprise application integration projects, relationships between components of systems, and research of emerging technologies. Prerequisite
    (CIS 116 or CIS 125 with a minimum grade of 2.5) and 45 credits toward an ATA degree. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Recognize and describe a variety of common industry frameworks and models for enterprise architecture analysis and decision-making.
    2. Understand and describe the role of business architectures, motivations and goals in determining appropriate information systems architectures and solutions.
    3. Research and describe the core concepts, benefits and risks of data/information architectures and evaluate existing data/information architecture designs.
    4. Research and describe the core components, benefits and risks of various application architectures and evaluate existing application architecture designs.
    5. Research and describe the core concepts, benefits and risks of various technology solution architectures and evaluate existing architecture designs.
    6. Research and describe the core concepts, benefits and risks of various network architectures and evaluate existing architecture designs.
    7. Understand and describe the concepts, benefits and risks of various architectural approaches such as multi-tier and service-oriented architectures.
    8. Evaluate and plan for the integration of emerging technologies.
    9. Evaluate the total cost of ownership and return on investment for architecture alternatives.
  
  • CIS 233 - Systems Analysis



    5.0 Credits
    A practical approach to real world systems analysis and design. Includes the systems development life cycle, structured methodologies and project planning. A case study project is analyzed, requirements are written and a systems design specification document is prepared. Prerequisite
    (CIS 102 or CIS 116) and (completion of at least one writing requirement or equivalent experience). Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe the phases of a systems development lifecycle.
    2. Use root-cause analysis techniques to define the scope of a system problem.
    3. Use industry-standard modeling methods to examine and diagram the components of a system.
    4. Identify and write functional requirements for a system.
    5. Research and compare possible solution options to meet system requirements.
    6. Evaluate and rate feasibility of potential options.
    7. Propose a solution that would meet defined requirements.
  
  • CIS 234 - Systems Design and Development



    5.0 Credits
    Provides hands-on experience in systems design and implementation using a prototype approach. The case study is designed and tested using application development software. User manuals are written. Prerequisite
    CIS 233 with a minimum grade of 2.5 or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Work in teams to define a project plan and perform systems lifecycle (SDLC) activities.
    2. Prepare and deliver formal written and oral status reports.
    3. Create a system design document, including database design, input and output design, process specifications, and user interface design standards.
    4. Apply user-centered design principles to create a prototype of the user interface design that meets documented requirements; prepare a formal demonstrate of this prototype.
    5. Develop a database application (prototype) that meets documented data and process specifications.
    6. Write and implement a test plan for validating system functionality against requirements.
    7. Write a user manual and training plan.
    8. Prepare a roll-out and maintenance plan for project implementation.
    9. Perform a structured walk-through and demonstration of a complete working system.
    10. Perform final project wrap-up activities and compile documentation for all aspects of the systems design, development, and implementation phases of the SDLC.
  
  • CIS 235 - Requirements Modeling



    5.0 Credits
    Advanced course in business modeling methods which will provide students an understanding of various tools and techniques used by analysts. Topics include UML, CASE tools, conceptual design, and physical implementation. Enterprise Systems Analysis will be introduced. Prerequisite
    (CIS 250 and 233 with minimum grades of 2.5) or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe the roles of formal data and process modeling approaches for discovering and validating business information systems requirements.
    2. Discuss the various perspectives and aspects of an enterprise’s information systems architecture that need to be considered when analyzing business requirements.
    3. Recognize and describe the components of various types of models used by systems analysts.
    4. Choose appropriate modeling methods and tools for specific analysis situations.
    5. Use models to recognize common data design patterns and process archetypes.
    6. Use computer assisted systems engineering (CASE) and/or other diagramming tools to create models.
    7. Recognize and employ industry-standard diagramming notations when creating models.
    8. Plan and lead a facilitated joint application design (JAD) session, demonstrating the use of a modeling method.
  
  • CIS 241 - Web Development I



    5.0 Credits
    Website development using HTML5, approached from a source code perspective. Covers tags, forms, linked objects, CSS3, frames, tables, and introduction to the use of scripting. Students build multi-page websites. Prerequisite
    (CIS 100 and CIS 141) or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Perform content and technical analysis on Web applications and websites.
    2. Use XHTML to develop, debug, maintain and document Web applications and websites.
    3. Implement standardized application and site design.
    4. Compare and contrast different browsers’ effects on XHTML documents.
    5. Use the basic principles of Web documents.
    6. Control the appearance of a Web page through the use of XHTML tables.
    7. Create a website with frames.
    8. Use XHTML forms.
    9. Create XHTML style through inline, embedded and Cascading Style Sheets.
  
  • CIS 242 - Web Development II: JavaScript



    5.0 Credits
    Students will explore the topics of embedding, inline and external scripts, functions, form validation, loops, conditional statements, strings, numbers, DHTML, and an introduction to JavaScript Frameworks. Students build multi-page Web sites using these technologies. Prerequisite
    CIS 241 with a minimum grade of 2.5 or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Use client-side scripting with well-formed Web pages.
    2. Recognize client-side variables and data types and the operations that can be performed on them.
    3. Write client-side functions, event handlers and control structures.
    4. Use the browser object-model to create scripts that control browser functionality.
    5. Verify form data through scripting validation.
    6. Create and implement client-side Web applications.
    7. Use object-oriented programming within client-side scripting.
    8. Save state information through the use of hidden form fields, query-strings and cookies.
    9. Add interactivity to Web pages through the Document Object Model and Dynamic HTML.
    10. List the concepts of server-side programming.
    11. Introduce database connectivity (time allowed).
  
  • CIS 243 - Web Development III: Introduction to PHP



    5.0 Credits
    Topics include server-side scripting for Web pages using PHP. Students will learn fundamentals of PHP scripting including functions, logical structure, and database connectivity used in creating websites. Prerequisite
    CIS 242 with a minimum grade of 2.5 or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Review Internet protocols and the use of Internet protocols on the World Wide Web.
    2. Identify and understand the differences between client-side and server-side scripting.
    3. Use the appropriate script, client-side or server-side, to complete an interactive website.
    4. Use the Document Object Model to interact with a Web page.
    5. Use properties, methods and event handlers associated with the Document Object.
    6. Create and use scripting variables and data types using appropriate naming conventions.
    7. Use arithmetic, comparison and logical operators in a scripting language.
    8. Create procedures and re-usable functions in a scripting language.
    9. Describe how server-side scripting is processed by a Web server and create pages which include server-side scripting.
    10. Use the request object to retrieve information supplied by a Web user to a form.
    11. Create an interactive website using a database.
  
  • CIS 244 - Web Development IV: Introduction to Joomla! and SEO



    5.0 Credits
    Students will learn to work with open-source content management systems (CMSs) and search engine optimization (SEO). Topics include Joomla!, installation of Joomla!, creating and updating content, and SEO concepts and techniques. Students will apply these topics while building multi-page websites. Prerequisite
    CIS 241 with a minimum grade of 2.5 or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Determine the business model of a website such as business-to-business, business-to-consumer, large organization, small organization, brick-and-mortar vs. E-commerce, social networking, blog.
    2. Compare and contrast how different search engines work.
    3. Develop and implement an SEO plan.
    4. Create a baseline and keyword strategy for a website.
    5. Create an ongoing plan to establish good SEO practices.
  
  • CIS 245 - Web Development V: Introduction to Cascading Style Sheets



    5.0 Credits
    Students will learn the details required to combine CSS (Cascading Style Sheets) with HTML, XHTML, or XML to create rich, powerful websites. Topics include: selectors, cascade and inheritance, text and font manipulation, layout, and positioning. Prerequisite
    CIS 241 with a minimum grade of 2.5 or instructor permission based on equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Make clear decisions about the advantages-disadvantages of using CSS over other Web technologies.
    2. Create basic, intermediate websites using CSS for page layout.
    3. Use CSS incorporated within HTML/XHTML.
    4. Create and use CSS selectors to affect the elements of a Web page.
    5. Apply advanced techniques of CSS within Web pages and sites.
    6. Communicate assumptions and choices made in the techniques used to create websites.
    7. Engage in conversations about the different development tools and technologies used to create websites.
    8. Communicate the advantages and disadvantages of web page layout using CSS.
    9. Demonstrate the ability to create Web pages or sites, which acknowledges the differences in access capabilities across cultures.
    10. Demonstrate the ability to work collaboratively within groups.
    11. Apply the appropriate tools and technology to facilitate sustainable websites.
  
  • CIS 246 - Web Development VI JavaScript Frameworks



    5.0 Credits
    Students will investigate and use the advanced techniques available in JavaScript frameworks (libraries) such as JQuery, AJAX, MooTools, and Prototype. Prerequisite
    CIS 242 with a minimum grade of 2.5 or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Make clear decisions about the advantages-disadvantages of using advanced scripting techniques over other Web technologies.
    2. Create intermediate websites using JQuery, AJAX, MooTools, and other JavaScript framework libraries.
    3. Read, modify, and create XML documents through AJAX libraries.
    4. Create advanced user interface using MooTools, JQuery, and Prototype.
    5. Incorporate advanced scripting techniques into Web pages and websites.
    6. Make clear decisions and use the appropriate JavaScript framework technology as needed within a Web page or site.
    7. Create clear and useful documentation of technologies to create a Web page or site.
    8. Communicate assumptions and choices made in the techniques used to create websites.
    9. Engage in conversations about the different development tools and technologies used to create websites.
    10. Communicate the advantages and disadvantages of each of the different JavaScript framework technologies.
    11. Demonstrate the ability to work collaboratively within groups.
    12. Apply the appropriate tools and technology to facilitate sustainable websites.
  
  • CIS 250 - Database Theory and Design



    5.0 Credits
    Designed to recognize data as a business resource. Database models are discussed from both a developer’s and a user’s viewpoint. Topics include: Conceptual and logical models, and data normalization through case studies. Prerequisite
    CIS 116 or twenty credits towards an ATA degree or certificate or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe fundamental principals of database theory and design.
    2. Research and analyze business data requirements.
    3. Identify high-level business rules for data modeling.
    4. Document high-level business rules for data modeling.
    5. Create and refine conceptual and logical data models.
    6. Validate conceptual and logical data models.
    7. Select unique identifiers and normalize the data model.
    8. Understand the role of SQL in the business and database contexts.
    9. Recognize the basic components and issues of database application design.
  
  • CIS 251 - Structured Query Language (SQL)



    5.0 Credits
    Covers topics in Structure Query Language (SQL) including statements such as select, update, insert, delete, create. Emphasis on the ability to extract, update and maintain databases using SQL. Prerequisite
    CIS 250 with a minimum grade of 2.5 or equivalent. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Explain what SQL is.
    2. Identify the major data types.
    3. Describe why SQL is such a powerful tool.
    4. Create relational databases using SQL.
    5. Perform basic database maintenance and administration such as: insert, update and delete data, create, drop and modify tables.
    6. Create various types of select statements including: table, multi-table and joins, and be proficient with functions and expressions.
    7. Explain the significance of and create indexes.
  
  • CIS 253 - Application Development Tools



    5.0 Credits
    An introduction to application development using MS-Access. Includes development of tables, forms, queries, reports, macros, and menus needed to support the application. Prerequisite
    (CIS 250 and CS 115 with minimum grades of 2.5) or concurrent enrollment or equivalent. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Explain the fundamental principles of application design
    2. Use MS Access to build a student designed application.
    3. Describe how Access integrates with enterprise systems.
    4. Given a database design and a few pre-built entities, build the following components of an Access application: tables to store data; forms and sub-forms for data entry into tables; reports that display data in appropriate groups and formatting; queries that assemble data from several tables for use with forms and reports; HTML documents created from custom queries and exported to the Web; modules and event procedures with VBA code to accomplish specific tasks; menus for easy access to the various parts of the application.
  
  • CIS 254 - Database Procedures and Functions



    5.0 Credits
    Students learn to create functions using procedural programming languages, store functions, and call functions. Includes creating, using, modifying stored procedures and functions within a RDBMS. Students learn control structures of a database programming language. Prerequisite
    CIS 251 with minimum grade of 2.5. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Explain the concept of a scalable relational database management system RDBMS.
    2. Explain the difference between client/server RDBMS and client RDBMS.
    3. Explain the uses of networked RDBMS.
    4. Explain and use data manipulation language (DML) within procedures and functions.
    5. Make use of save points and roll back within procedural programming.
    6. Use of conditional control within procedures and functions (if statements).
    7. Create exceptions and errors within DML and handle them within procedural programming.
    8. Understand the use of and create iterative control structures within procedural programming (loops).
    9. Create record sets through the use of SQL and procedural programming.
    10. Develop and use stored procedures and functions.
    11. Use the advanced features of stored procedural programming.
  
  • CIS 255 - Special Topics



    5.0 Credits
    New topics and technologies in computer information systems are presented. Topics will change from quarter to quarter, but sample topics might include: operating systems, networks, application development, and Web development. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Explore current topics of interest in Information Technology.
  
  • CIS 260 - Introduction to XML



    5.0 Credits
    Topics include how XML is used in websites and data storage applications, XSL, incorporating style with XSL and CSS, namespaces, DTDs and schemas. Prerequisite
    CIS 100 and CIS 114 with minimum grades of 3.0 or equivalent. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Create, structure, and script XML documents.
    2. Demonstrate proper XML syntax.
    3. Explain element hierarchies in an XML document.
    4. Write well formed XML documents.
    5. Use namespaces in XML.
    6. Add style to XML using CSS and XSL.
    7. Transform XML into other formats using XSLT.
    8. Use XPath and XPointer for locating specific XML data.
    9. Use XLink for linking XML and non-XML resources.
    10. Manipulate XML documents using DOM.
    11. Validate XML using DTDs and schemas.
    12. Incorporate XML into traditional databases.
  
  • CIS 264 - Active Directory Administration



    5.0 Credits
    Topics include install, configure, troubleshoot, and administer Active Directory. Overview of Active Directory, Active Directory sites, and FSMO roles. Students will configure and manage group policies, permissions and certificate services. Prerequisite
    (CIS 171 or CIS 266 with a minimum grade of 2.5) or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Install, troubleshoot, and configure Windows Server forests and domains using Active Directory.
    2. Configure and troubleshoot Windows Server FSMO roles and global catalog.
    3. Plan a group policy management and implementation policy.
    4. Use group policies to configure and troubleshoot a user environment.
    5. Configure Active Directory certificate services.
  
  • CIS 265 - Network Administration



    5.0 Credits
    Focuses on implementation, management and maintenance of Windows Server. Topics include managing and maintaining DNS and DHCP server roles, remote access services (RRAS) and wireless, file and print services, updating Windows Server, securing data transmission and authentication. Prerequisite
    (CIS 125 or CIS 185 with a minimum grade of 2.5) or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Install, troubleshoot, and configure Windows Server software.
    2. Configure basic network settings.
    3. Identify and configure server roles.
    4. Configure and Monitor Print Services.
    5. Maintain and Update Windows Servers.
    6. Maintain Network Health with Network Access Protection and IPSec.
    7. Secure Data Transmission and Authentication.
  
  • CIS 266 - Server Administration



    5.0 Credits
    Managing and maintaining Windows Server. Topics include: Deploy an Application and a File Server, and use the File Services Roles. Deploy Print and Fax services, Deploy IIS Services, Secure IIS Service, and configure Terminal Service clients. Prerequisite
    (CIS 125 or CIS 185 with a minimum grade of 2.5) or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Deploy a Windows Application Server.
    2. Deploy File, Fax, and Print Servers.
    3. Deploy Media, IIS Services, and Web Applications Servers.
    4. Secure Web Services.
    5. Configure and troubleshoot Terminal Services.
    6. Configure Terminal Services Clients.
    7. Configure a Terminal Services Gateway.
    8. Manage and Monitor Application Servers.
  
  • CIS 267 - Exchange Server



    5.0 Credits
    Administering and configuring Exchange Server; creating address lists, public folders and virtual servers; implementing SMTP and security, including Exchange database backup and restore. Prerequisite
    (CIS 125 or CIS 185 with a minimum grade of 2.5) or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Install Windows Exchange on a Windows Server.
    2. Configure and test email for recipients, and groups on Exchange Server.
    3. Configure email on client computers to receive and send email to and from Exchange Server.
    4. Configure security settings on an Exchange Server.
    5. Configure backup and restore policies on an Exchange Server database.
  
  • CIS 268 - Firewall Implementation



    5.0 Credits
    Topics include firewall policies, Internet Web caching, configuring systems in a complex router environment, setting up point to point VPNS and securing remote client connections. Prerequisite
    CIS 267 with a minimum GPA of 2.5 or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Install Internet Security Acceleration server in a windows server environment. [REASON]
    2. Configure Internet Security Acceleration server to cache Web content and act as a proxy for workstations in a local area network (LAN). [REASON]
    3. Configure Internet Security Acceleration server as a firewall allowing access from the LAN to the Internet. [REASON]
    4. Configure Internet Security Acceleration server publishing so that a client can access email from the Internet. [REASON]
    5. Configure client computers to use the Internet Security Acceleration server for caching and gateway services. [REASON]
  
  • CIS 272 - Digital Forensics I



    5.0 Credits
    Covers basic procedures and methodologies for digital forensics that must be mastered. Acquisition, identification, and analysis of evidence; documentation strategies; manual and automated analysis tools; and working as an expert witness. Maps to the ACE and CSFA certifications. Prerequisite
    CIS 161 with a minimum grade of 2.5 or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe the origins of computer forensics.
    2. Describe the relationship between law enforcement and industry.
    3. Discuss ethics and its impact on computer forensics.
    4. Describe the computing investigation process.
    5. Describe disk structures.
    6. Describe the Microsoft boot process.
    7. Identify where data can be hidden on different platforms.
    8. Build a forensic bootable CD/DVD.
    9. Describe how to build a forensic workstation.
    10. Describe the profession of computer forensics.
    11. Use current forensics tools.
    12. Perform graphic image recovery.
    13. Perform email recovery and investigations.
    14. Discuss a code of ethics and conduct related to the information security and digital forensics professions.
    15. Identify standards of professionalism and ethical behavior for information security and digital forensics professionals, and apply these standards successfully to ethical dilemmas.
    16. Describe issues related to privacy and determine how to address them technically and ethically.
  
  • CIS 273 - Digital Forensics II



    5.0 Credits
    Covers advanced topics. Registry, event logs, internet history, and creating analysis reports. Students will be introduced to processes for conducting testing and verification. Each student will process a forensic case. Maps to the ACE and CSFA certifications. Prerequisite
    CIS 272 with a minimum grade of 2.5 or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Create forensically sound image files and working copies of drives from both live and at rest computer systems using a variety of commercial and open source tools.
    2. Employ various techniques to overcome encryption and passwords using a variety of commercial and open source tools.
    3. Describe the differences between the FAT16 and FAT32 file systems and boot records.
    4. Describe the function and layout of: master boot records, partition tables and how they can be hidden and restored, and the NTFS Master File Table.
    5. Identify and describe the Windows registry keys that would be examined relevant to a computer forensics investigation.
    6. Forensically examine an image from a NTFS system.
    7. Recover deleted files and file fragments using both manual and automated methods.
    8. Conduct a forensic analysis involving email and other Internet activity.
    9. Forensically process thumb drives and memory sticks.
    10. Create a Curriculum Vita and properly document experience and education for work in the field of computer forensics.
    11. Analyze a code of ethics and conduct related to the information security and digital forensics professions.
    12. Identify standards of professionalism and ethical behavior for information security and digital forensics professionals, and apply these standards successfully to ethical dilemmas.
    13. Describe issues related to privacy and determine how to address them technically and ethically.
  
  • CIS 274 - Introduction to Network Security



    5.0 Credits
    Topics include communication, infrastructure, operational and organizational security, underlying principles used to secure networks, security technologies, intrusion detection, authentication, and cryptography basics. Maps to Security+ exam. Prerequisite
    CIS 171 with a minimum grade of 2.5 or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Compare and contrast the three basic cryptographic functions.
    2. Describe how cryptographic functions can be used to enable security services.
    3. Describe authentication, integrity and confidentiality and how they relate to security systems.
    4. Describe the use of public key technology in networks.
    5. Compare and contrast the various mechanisms that provide authentication services.
    6. Given a network security scenario, decide on the proper authentication technology.
    7. Compare and contrast several security technologies that provide solutions for securing network access.
    8. Compare and contrast authentication and authorization and access control.
    9. Describe security technologies used for establishing identity.
    10. Describe how security technologies are implemented in corporate networks.
    11. Identify the strengths and weaknesses associated with protocols designed to authenticate users.
    12. Describe the technologies that exist at the different TCP/IP layers.
    13. Discuss how digital signatures are used for secure transactions.
    14. Identify and describe the three categories of network security threats.
    15. Describe infrastructure security concepts.
  
  • CIS 275 - Host System Security I



    5.0 Credits
    Topics include: Operating system hardening, malware prevention and detection, IPSec and PKI. Students will learn how to plug security holes, authenticate users, defend against attacks and add security practices into administrative tasks. Prerequisite
    (CIS 264 and CIS 274 with a minimum grade of 2.5) or concurrent enrollment or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. List and describe the elements of a computer deployment plan that covers security issues.
    2. Summarize practices for configuring workstations, maintaining workstation integrity, and improving user awareness.
    3. Describe and employ various tools to analyze and implement security measures on a Windows system.
    4. Configure security policies for Windows systems.
    5. Perform a security audit of a Windows system using industry standards and guidelines.
    6. Configure Windows XP’s TCP/IP settings that allow for enhanced security.
    7. Compare and contrast types of malware and describe their respective preventative/reactive measures.
    8. Describe the incident response process and how computer security incidents are managed.
  
  • CIS 277 - Security Implementation I



    5.0 Credits
    Topics include: Analyzing network traffic and vulnerability of various protocols, responding to attacks on FTP, HTTP, DNS, HTTPS and SSH. Advanced attack detection using network and host based intrusion detection systems. Prerequisite
    CIS 274 with a minimum grade of 2.5 or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe Ethernet operation.
    2. Compare and contrast the tools and utilities available for frame capture/creation.
    3. Perform frame level analysis.
    4. Detect ARP spoofing and IP address spoofing.
    5. Recognize and analyze ARP and ICMP traffic.
    6. Describe TCP/IP vulnerabilities and how to minimize attacks.
    7. Describe TCP/IP stack fingerprinting.
    8. Examine system logs and statistics for signs of attack.
    9. Setup and use a variety of tools to detect and decode attacks.
  
  • CIS 278 - Security Implementation II



    5.0 Credits
    Topics include: planning, configuring and implementing firewalls, proxy servers and Web filtering. The use of log consolidation tools will also be covered. Prerequisite
    CIS 277 with a minimum grade of 2.5 or concurrent enrollment or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Identify and configure security commands in internetworking devices such as routers, switches and firewalls.
    2. Design firewall configuration strategies given a business scenario.
    3. Authenticate users.
    4. Implement appropriate packet filtering.
    5. Plan, develop, design and document a firewall strategy.
    6. Compare and contrast Bastion Hosts.
    7. Implement a secure VPN.
    8. Isolate, contain, document and recover from a security breach.
    9. Implement appropriate firewall troubleshooting procedure used to fix a given problem.
  
  • CIS 279 - Managing Network Security



    5.0 Credits
    Projects include: Conducting vulnerability assessments, penetration tests, and organizational security audits driven by policy. Course maps to the CEH certification. Prerequisite
    (CIS 173 and CIS 277 with a minimum grade of 2.5) or equivalent experience. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe the types of resources that need to be protected in a networked environment.
    2. Create a security policy.
    3. Write procedures for forming a security organization/department.
    4. Describe the functions of a security team.
    5. Describe the procedures for selecting appropriate security components.
    6. Describe the major types of DOS attacks and how to protect against them.
    7. Describe how to conduct security audits.
    8. Discuss the process of auditing logs and how the audit process should be implemented.
    9. Describe how to conduct a postmortem analysis of an attack.
  
  • CIS 280 - Career Planning



    1.0 Credits
    Description of the various jobs available to CIS graduates and the development of job hunting skills are covered in this course. Resume, cover letter writing, and interviewing techniques are also covered. Internship applications are made in this course. Prerequisite
    Instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. List job titles available as a graduate of the CIS program.
    2. Develop job search and interviewing skills.
    3. Register on the CAC’s (www.collegecentral.com) website.
    4. Create a resume and various cover letters.
    5. Participate in activities such as: online job search, reading trade journals/want ads, the interview process.
    6. Be aware of the internship application process.
    7. List and describe resources on campus and online for job search and placement.
    8. Create a list of at least 10 companies you would apply to and research and document the main features of each that would be important for your cover letter and/or interview.
  
  • CIS 291 - Technology Internship



    1.0 to 10.0 Credits
    Students working toward degrees and certificates in CIS and CEN programs, in the second year of their coursework, receive on-the-job training in information or electronics technology. One credit for each 30 hours worked. Registration by entry code only; obtain code from instructor. Prerequisite
    Instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Document and acquire IT skill set; goals and work schedule set by the student and coordinator in the internship agreement and learning objectives pages of the internship paperwork.
  
  • CIS 293 - Digital Forensics III



    5.0 Credits
    Forensic triage and other advanced topics. Conducting forensic analysis from start to finish, dealing with live systems and malware. Topics may vary based on current developments and trends. Prerequisite
    CIS 273 with a minimum grade of 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Demonstrate methods to use VMware/Virtual PC as a forensic analysis tool.
    2. Utilize common forensic tools to process a case from start to finish.
    3. Create a comprehensive forensic analysis report.
    4. Develop and use regular expressions to increase search effectiveness.
    5. Create and verify hash sets of various formats, including Hashkeeper, NSRL, and FTK.
    6. Describe a code of ethics and conduct related to the information security and digital forensics professions.
    7. Identify standards of professionalism and ethical behavior for information security and digital forensics professionals, and apply these standards successfully to ethical dilemmas.
    8. Create a list of issues related to computer privacy and document how to address them technically and ethically.
  
  • CIS 294 - Advanced Data Recovery and Clean Room Operations



    5.0 Credits
    Covers the technical and administrative aspects of using clean room equipment to facilitate data recovery from various media, as well as advanced digital forensics and data recovery techniques. Prerequisite
    CIS 293 with a grade of at least 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Recover data from a variety of computer media.
    2. Appropriately use data recovery tools and equipment such as: write blockers, micro-tweezers, dental picks, anti-static gloves and finger cots.
    3. Setup and utilize a data recovery workstation with associated drive connectors and BIOS bypass tools.
    4. Describe the processes used for logical and physical recovery of disabled hard drives.
    5. Swap single and multiple hard drive platters.
    6. Replace a hard drive head assembly.
    7. Describe the processes used to facilitate RAID 0 and RAID 5 recovery.
    8. List and describe the environmental and technical requirements for operating clean room equipment to facilitate the recovery of data from various media.
    9. Work as a team to analyze, design and implement a data recovery project.
  
  • CIS 295 - Malware Analysis



    5.0 Credits
    This course prepares forensic analysts, information security professionals and incident responders to reverse-engineer malicious software using practical tools and techniques. Prerequisite
    CIS 274. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Use tools and their respective functions for the various stages of the malware analysis process.
    2. Deconstruct common root kit components and functions to include resident malicious code, VB Macros, Java-Script executables and Shellcode executables.
    3. Apply procedures used to intercept and analyze network traffic generated by malware.
    4. Using virtual computing technologies, implement tools and processes used to create a lab environment for reverse-engineering malware.
    5. Modify malicious code to defeat anti-forensic measures contained in self-defending malware.
    6. Examine various formats used to pack malicious executable code, and use and select the appropriate tools for unpacking the code.
    7. De-obfuscate malicious code packages within executables.
    8. Perform static memory malware analysis from artifacts resident in Random Access Memory.
    9. Describe how malware utilizes Windows Operating System API functions for propagation and concealment.
    10. Describe how processes are translated between memory registers, memory stack, and instructions contained in software code.
  
  • CIS 298 - Advanced Individual Project



    1.0 to 5.0 Credits
    Advanced independent projects under the direction and supervision of a CIS instructor. Prerequisite
    Instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Present evidence of completion of all aspects of a second year project as specified in a contract created and agreed upon by the student and instructor.
  
  • CIS 299 - Special Projects



    5.0 Credits
    Credit for a credit designed project is available with approval. For information, please contact the CIS department at 425.640.1902. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Present evidence of completion of all aspects of a second year project as specified in a contract created and agreed upon by the student and instructor.

Computer Science

  
  • CS 101 - Computing Concepts



    5.0 Credits
    A broad beginning level survey of computer science concepts. Topics include history of computing, computer hardware, operating systems, programming logic, the Internet, data management, overview of programming languages and concepts, and social context and ethics of computing. Prerequisite
    Math 087 or CIS 114 with a grade of at least 2.0 or placement above MATH 077. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Explain machine representation of data and convert data into different number systems.
    2. Differentiate between procedural and object-oriented paradigms.
    3. Understand how to find, evaluate, and process information from the Internet.
    4. Apply problem solving skills with valid logical reasoning to solve various problems, not all necessarily computer related.
    5. Describe the strengths and weaknesses of different operating systems.
    6. Describe the basic components of computer systems and their interactions.
    7. Explain the differences and similarities among current computer languages.
    8. Explain issues in computer ethics.
    9. Work cooperatively in small groups to practice problem solving techniques.
  
  • CS 102 - Introduction to Computer Animation



    5.0 Credits
    Introduces some basic techniques and tools of computer animation and sound production. Students develop their own unique computer character sprites, and create a short computer animation with accompanying sound and music. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Use software to perform basic image manipulations including resizing, color adjustment, and positioning to create images suitable for use in a group animation.
    2. Use drawing and character modeling techniques to modify a unique character representation that can be used as a basis for a digital sprite in a group project.
    3. Write a computer program that displays animated images on the screen.
    4. Include meaningful sounds and music within an animated program.
    5. Work as an effective team member to accomplish common animation project goals in a timely fashion.
    6. Make an oral and visual presentation to a the class, summarizing their final project results.
  
  • CS 115 - Introduction to Programming



    5.0 Credits
    An introductory course in programming using VB.NET. No previous programming experience is expected. Topics include designing, creating and debugging interactive, event-driven programs with a graphical user interface and developing problem solving skills. Prerequisite
    (MATH 090 or MATH 097 or CIS 114 with a minimum grade of 2.0) or placement above MATH 097 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Use correct syntax and structure of the Visual Basic language.
    2. Design an appropriate User Interface for a simple Visual Basic application.
    3. Analyze problems typical of the business, scientific or home environment and to formulate solutions in quantitative terms capable of computer solution.
    4. Design algorithms typically used in computer programming.
    5. Lay out a flow chart for a typical algorithm.
    6. Utilize Sequence, Selection and Iteration constructs in the design of solutions.
    7. Design, code, correct, test and execute a Visual Basic program.
  
  • CS 125 - Linux and UNIX I



    5.0 Credits
    First of a two-quarter survey of Linux/UNIX operations. Topics include base Linux commands; combining commands to create utilities; managing files, software and processes; creating partitions and Logical Volumes; editing text; managing users and groups; extended attributes and basic networking. Prerequisite
    Instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Install and manage OS configuration settings on current Linux operating systems.
    2. Parse system logs for any relevant data and present it in a readable fashion.
    3. Manage local and networked files using Linux command line tools.
    4. Handle backing up files to compressed archives using tar and various compression algorithms.
    5. Create dynamically resizable disk volumes and optimize filesystem formatting.
    6. Manage users and permissions using groups and inheritable access control lists.
    7. Describe the pros and cons of various open source licenses.
    8. Identify best use cases for Linux and other types of open source software.
  
  • CS 126 - Linux and UNIX II



    5.0 Credits
    Second of a two-quarter survey of Linux/UNIX operations. Topics include Boot process, process management, RPM, creating/optimizing RAID, encryption, managing user access, configuring dynamic/static networks, Bash scripting, Apache secure virtual hosts, Samba/NFS, Postfix mail server, SSH and NX. Prerequisite
    CS 125 with a grade of 2.5 or higher or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Restrict user logins based on location, time of day, and other criteria.
    2. Create software packages from source and manage remote package repositories.
    3. Create and optimize advanced disk systems, including disk encryption.
    4. Configure Linux networking configuration using Bash shell scripts.
    5. Configure Web, dns, mail, and file servers securely.
    6. Manage secure remote graphical and cli logins.
    7. Explain various server configuration strategies to management personnel.
  
  • CS& 131 - Computer Science I C++



    5.0 Credits
    Introduction to programming for students majoring in computer science, technical, or engineering fields. Covers the fundamental syntax and constructs of the C/C++ programming languages and general concepts of programming. Prerequisite
    CS 115 with a grade of 2.5 or higher or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Display a knowledge of the basic syntax and constructs of the ‘C’ programming language.
    2. Specify, design, code and debug programs which solve common scientific, technical and business problems.
    3. Perform necessary tasks using various programming tools such as an editor, compiler, debugger and profiler.
    4. Display an ability to use the concepts of procedural and functional abstraction to organize a program.
    5. Test a ‘C’ program for correctness and usability.
    6. Properly document code in a prescribed standard format.
  
  • CS 132 - Computer Science II C++



    5.0 Credits
    Intermediate concepts of object-oriented program design and implementation using the C++ language. Topics include class design, polymorphism, composition, common algorithms, and the general use of object-oriented programming principles and algorithms for sorts and searches. Prerequisite
    CS& 131 with a grade of 2.5 or higher or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Develop complex abstract data types, and corresponding C++ classes, including overloaded operators.
    2. Code and utilize common algorithms and analyze them for efficiency using Big-O and Big Omega notation.
    3. Use the basic constructs of the C++ programming language to write a correct, efficient and maintainable applications program.
    4. Describe the concepts of abstracting, encapsulation, inheritance, and polymorphism and explain how they have been incorporated within the C++ language.
    5. Be able to work cooperatively in small groups to produce a correct, efficient and maintainable program.
  
  • CS 133 - Computer Science III C++



    5.0 Credits
    C++ Data Structures. Topics include data structures such as list, stacks, queues, various binary trees and iterators; single, multiple, and virtual inheritance, polymorphism, the STL and object-oriented design techniques. Prerequisite
    CS 132 with a grade of 2.5 or higher or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Design and implement a class representation of an abstract type.
    2. Use inheritance, multiple inheritance and virtual inheritance in designing and coding class structures.
    3. Apply polymorphism and virtual methods to generalize programming solutions.
    4. Design and code implementations of types such as stacks, queues, lists, and multiple form of trees.
    5. Use the Standard Library features to implement standard program components.
    6. Develop medium to large scale programs.
    7. Work in a small group to develop complex projects.
  
  • CS 135 - C and C++ Review I



    5.0 Credits
    Part one of a two-quarter sequence. A review of the fundamental concepts of the C and C++ languages. Topics include program flow constructs, functions, references and pointers, operator overloading, file I/O, classes, and object oriented design. Prerequisite
    Instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Design and write a small application program in C++ which demonstrates a mastery of the basic conditional, interactive, input/output, and functional constructs of the language.
    2. Use the common tools found in a typical programming environment such as an editor, debugger, profiler, object browser, compiler, make facility, etc. to compile, debug and execute a multi-file program.
    3. Design and write applications in C++ which demonstrate a mastery of data representation and abstraction using primitive types, arrays, structs, and pointers.
    4. Apply object oriented techniques to identify objects in a problem domain and code classes to represent those objects.
    5. Apply basic concepts of inheritance to create an application class which uses an inheritance hierarchy and polymorphic behavior to solve a problem.
    6. Describe the basic characteristics of object oriented design and programming, and the advantages of employing object oriented techniques.
    7. Clearly communicate problem and solution descriptions to peers using an online forum, and work with peers to jointly solve problems.
  
  • CS 136 - C and C++ Review II



    5.0 Credits
    Part two of a two-quarter sequence. Basic characteristics of C/C++ and the use of C++ for Windows graphics and game programming. Advanced features of C++ such as Template Library, exception handling, bit operations, and the use of C++ to implement 2D graphics techniques. Prerequisite
    CS 135 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Design and write small application programs in C++ that demonstrate a mastery of the basic template and exception handling constructs of the language.
    2. Write small programs which demonstrate use of low-level bitwise operations.
    3. Design and write applications that use the Standard Template Library to solve problems involving complex data structures and algorithms.
    4. Describe the fundamental graphics and input programming interface of the Windows operating system, including the message loop and callback mechanisms.
    5. Write a C++ program that utilizes the Windows programming interface to present a typical program interface including menus, dialog boxes, and buttons.
    6. Write a C++ program that utilizes the Windows graphics and mouse libraries to create an interactive 2D animation.
    7. Describe how the Standard Template Library, exception handling, and bitwise operations are used in typical game programs, and write a small 2D game that utilizes those constructs in an appropriate manner.
    8. Locate and use printed and online documentation to solve programming problems.
    9. Describe applications which will benefit from low-level bitwise operation.
  
  • CS& 141 - Computer Science I Java



    5.0 Credits
    Introduction to Java programming. Topics include basic Java syntax, data types, control structures, methods, object representation using classes, graphics, Applets and arrays, all within a framework of general object oriented programming principles. Prerequisite
    CS 115 or equivalent with a grade of 2.5 or higher or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Use the basic constructs of the Java programming language to write a correct, efficient and maintainable application program.
    2. Analyze real-world problems in quantitative terms and formulate programming solutions.
    3. Describe object-oriented concepts and structures in Java.
    4. Design and implement algorithms typically used in computer programming.
    5. Work cooperatively in small groups to design, implement and test a program.
  
  • CS 142 - Computer Science II Java



    5.0 Credits
    Intermediate Java programming. Topics include algorithm development, searching/sorting, complexity/efficiency, recursion, user interface design, class relationships including composition and inheritance and an introduction to abstract data types. Prerequisite
    CS& 141 or equivalent with a grade of 2.5 or higher or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Design and implement Java programs creating a hierarchy of classes with inheritance, composition and interface implementation.
    2. Create highly useable graphical user interfaces using Java tools.
    3. Write Java programs utilizing recursion and various searching and sorting algorithms.
    4. Work cooperatively in small groups to produce and test correct, efficient and maintainable programs.
  
  • CS 143 - Computer Science III Java



    5.0 Credits
    Java Data Structures. Topics include data structures such as lists, stacks, queues and various binary trees, inheritance and interfaces, using standard collection classes and algorithms and Generics. Prerequisite
    CS 142 or equivalent with a grade of 2.5 or higher or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Design, implement and test programs properly utilizing multiple data structures.
    2. Analyze algorithms for efficiency (big O and big Omega).
    3. Produce and test complex n-tier programs in a professional manner.
    4. Work cooperatively in small groups to produce correct, efficient and maintainable program.
  
  • CS 161 - Introduction to Computer Game Development



    5.0 Credits
    Fundamentals of computer game programming, including a survey of computer game categories and platforms, major game components, an overview of the game development process, and an introduction to game graphics programming using the Windows API. S/U grade option. Prerequisite
    Instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Categorize games according to common game genres.
    2. Describe diverse game components.
    3. Enumerate the general computer game platforms and the strength and weaknesses of each.
    4. Describe the game development process.
    5. Prepare a design document for a simple game.
    6. Describe some basic concepts, features, and techniques of graphics programming including the representation and display of points, colors, lines, polygons, and bitmaps, the translation, scaling and rotation of images, sprite creation and animation, scrolling, and simple collision detection.
    7. Create an optimized game that includes geometric transformations, multilevel scrolling, sprite animation, and collision detection using Visual Basic.NET and the Windows GDI+ (Graphics Device Interface).
    8. Independently research an aspect of computer game development.
    9. Describe general characteristics common to all games.
    10. Complete a project as part of a team or group programming effort.
    11. Present a reasoned opinion on a current social controversy involving the nature of computer games.
  
  • CS 162 - Graphics and Game Programming I



    5.0 Credits
    Introduction to the Microsoft DirectX game and graphics libraries and their use in the development of Windows based games, animation, and other graphics applications. Prerequisite
    CS 161 with a grade of 2.5 or higher or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe the general purpose of programming libraries and application programming interfaces (APIs).
    2. Describe various graphics and multimedia programming libraries available for the Windows environment.
    3. Describe the general principles of the COM (Component Object Model) architecture.
    4. Describe the various components of the DirectX programming library including DirectDraw, DirectSound, DirectMusic, DirectInput, Direct3D, DirectShow, DirectPlay, DirectMedia, and Direct Animation.
    5. Enumerate the hardware and software requirements needed to both develop and run DirectX applications.
    6. Make DirectX function calls from within Visual Basic.NET, C#, or C++ programs.
    7. Create an application using .NET and DirectDraw which will allow a user to smoothly scroll through a tiled world.
    8. Describe some common programming problems associated with smooth animation.
    9. Complete a project as part of a team or group programming effort.
  
  • CS 163 - Graphics and Game Programming II



    5.0 Credits
    Fundamental concepts used in 2D graphics and animation, as well as the techniques and tools needed to create a game application using the DirectX 2D graphics and animation library. Prerequisite
    CS 162 with a grade of 2.5 or higher or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Install, configure, and utilize Visual Studio and the DirectX software development kit.
    2. Create, debug, and test a program using appropriate DirectX components, image buffering, timers, and user input.
    3. Describe the representation of colors in Windows programs in palletized and non-palletized modes.
    4. Describe and implement various line drawing and fill algorithms.
    5. Describe the representation of colors in Windows programs in palletized and non-palletized modes.
    6. Implement fundamental algorithms to perform pixel, line, bitmap clipping, and 2D matrix transformations of points, lines, and polygons.
    7. Complete a project as part of a team or group programming effort.
  
  • CS 170 - Game Mathematics I



    5.0 Credits
    First of a two-course sequence. Introduction to the mathematical principles used to represent 2D and 3D space in game programming. Topics include sets, functions, polynomials, trigonometry, analytic geometry, and their application to computer game graphics and physics. Prerequisite
    Instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Define a set and utilize set notation and operations including Cartesian product.
    2. Interpret common set operations from both an analytic and geometric viewpoint.
    3. Graph various functions in 2D and 3D space.
    4. Use polynomial functions to solve interpolation, approximation, and prediction problems characteristic of computer games.
    5. Use trigonometric functions and identities to solve 2D and 3D problems in math, physics and computer graphics.
    6. Represent basic 2D and 3D figures such as ellipses, paraboloids, ellipsoids, and prisms using analytic geometry.
    7. Clearly communicate problem and solution descriptions to peers, and work with peers to jointly solve mathematical problems.
  
  • CS 172 - Game Mathematics II



    5.0 Credits
    Second of a two-part sequence covering the mathematical principles used to represent 2D and 3D space in games. Topics include vectors, linear transformations, quarternions, analytic geometry, and their application to computer game programming. Prerequisite
    CS 170 with a grade of at least 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Define a vector and describe and utilize common vector operations including addition, subtraction, and dot products.
    2. Define a matrix and common matrix properties and operations including the identity and transpose matrix determinant, matrix addition, subtraction, and multiplication.
    3. Solve systems of linear equations using matrix operations and gaussian elimination.
    4. Interpret common vector operations from both an analytic and geometric viewpoint.
    5. Define a linear transformation recognize linear transformations from both algebraic and geometric representations.
    6. Write common transformation matrices used in game programming, including scaling, skewing, translation, rotation, and projection matrices.
    7. Define imaginary and complex numbers and their common properties and operations such as power, multiplication, division, addition, subtraction, conjugate, and magnitude.
    8. Define hypercomplex numbers and quaternions, and describe how they and their common operations represent a generalization of complex numbers.
    9. Apply quaternion operations to common game programming tasks such as 2D collision, 3D reflection, polygon penetration, and lighting and shadow casting in 3D games.
    10. Apply the principles of game mathematics to represent scene generation in a 3D game including motion, lighting and texturing.
    11. Clearly communicate problem and solution descriptions to peers, and work with peers to jointly solve mathematical problems.
  
  • CS 185 - Two-Dimensional Game Development Project



    5.0 Credits
    Techniques and tools used to create nongraphic game components such as joystick I/O, sound, video, networking, and artificial intelligence. Students integrate these components into a 2D game project. Prerequisite
    CS 161 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Write an application with sound that retrieves, interprets and handles data from and to multiple devices.
    2. Create and edit a sound sample that can be used in a game.
    3. Utilize basic fundamentals of game physics.
    4. Define various fundamentals of working with sound and sound files.
    5. Create and present a design document for a game.
    6. Work on a team to create, debug and test a 2D video game which incorporates graphics, sound, input and physics modeling.
  
  • CS 194 - Three-Dimensional Graphics Animation



    5.0 Credits
    General principles of representing and animating 3D objects, and application to 3D computer animation. Students model, texture, animate, and render objects using Maya, a high-end animation software package, producing a final short animation sequence. Prerequisite
    Instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Apply common modeling techniques such as extrusion, revolution, deformation, and fractal generation to create simple volumetric objects.
    2. Describe how motion can be represented as translation, rotation and change of scale, and demonstrate their understanding by applying these transformations using 3D animation software.
    3. Describe orthographic and perspective/camera views, and demonstrate an understanding by navigating and manipulating objects in these views using 3D animation software.
    4. Describe how multiple world objects can be represented as a hierarchy, and animate multiple objects using this knowledge and 3D animation software.
    5. Apply common modeling techniques such as extrusion, revolution, deformation, and fractal generation to create simple volumetric objects.
    6. Use various techniques to generate and apply surface textures to 3D objects.
    7. Use key frame and function curve animation techniques to animate a 3D object.
    8. Render, shade and optimize a scene.
    9. Create and complete final editing for a movie file.
    10. Set various camera views and scene light sources and be able to render the final scene using a commercial 3D graphics program.
  
  • CS 195 - Three-Dimensional Computer Animation II



    5.0 Credits
    A continuation of CS 194. Advanced techniques for texturing, animating and rendering 3D computer models as well as their implementation using Maya 3D animation software. S/U grade option. Prerequisite
    CS 194 with a minimum grade of 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe the importance of surface texture in the creation of 3D objects.
    2. Describe and use multiple techniques to generate and apply surface textures to 3D objects.
    3. Explain the advantages and disadvantages of different texturing techniques.
    4. Describe the relative motion of simple jointed models, and how such models can be animated using forward and inverse kinematic techniques.
    5. Utilize kinematic techniques to animate a 3D jointed model.
    6. Build a complex scene and animate it with interacting complex movements.
    7. Describe the 3D rendering process.
    8. Utilize software to render, shade and optimize a scene.
    9. Create and complete final editing for a movie file.
  
  • CS 199 - Special Projects



    5.0 Credits
    Special study to be arranged by student and supervising instructor. S/U grade option. Credit available with approval. For information contact the division secretary in Alderwood Hall 218A or phone 425.640.1679. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Successfully complete a project related to the specified topic.
  
  • CS 210 - Game Physics



    5.0 Credits
    Application of the laws of physics to the creation of computer games with physics-based realism. Prerequisite
    (MATH& 142 and CS 132 and college level Physics with a minimum grade of 2.5) or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe the benefit of physics-based realism to a video game.
    2. Describe the concepts of rigid body dynamics as it applies to real-time simulations.
    3. Design and implement a real-time simulation that includes projectiles and vehicles.
  
  • CS 215 - Intermediate Visual Basic .NET



    5.0 Credits
    Intermediate topics of visual program design and implementation using Visual Basic .NET. Topics include arrays, object-oriented programming, files and streams, error handling and debugging SQL, database programming with ADO.NET, and multimedia. Prerequisite
    CS 115 with a minimum grade of 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Use the basic constructs of Visual Basic to write a correct, efficient and maintainable application program.
    2. Use Visual Basic to access files and databases.
    3. Use Visual Basic to link applications.
    4. Work cooperatively in small groups to produce a correct, efficient and maintainable program including error-handling and debugging.
    5. Produce well written and easily understood documentation of program code.
  
  • CS 216 - Advanced Visual Basic .NET Programming



    5.0 Credits
    Introduces advanced topics of visual program design and implementation using Visual Basic .NET. Topics include database programming and SQL, ADO.NET, data structures and collections, ASP.NET and Web services, and networking. Prerequisite
    CS 215 with a minimum grade of 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Write substantive, efficient, and maintainable application programs using the advanced tools of Visual Basic.NET.
    2. Build reusable and dynamic data structures, such as linked lists, queues, stacks utilizing classes, inheritance and composition.
    3. Create Web services applications and distinguish usage of ASP.NET among clients and servers.
    4. Implement VB.NET networking applications using sockets.
    5. Explain the essentials of accessing a relational database with SQL and ADO.NET from within an application program.
    6. Demonstrate appropriate implementation of classes and collection hierarchies.
    7. Work cooperatively in small groups to produce significant and practical Windows and Web application programs.
  
  • CS 217 - Internet Programming with .NET



    5.0 Credits
    Design, implementation and deployment of applications, Web services, and components in an enterprise environment. Uses the latest tools and languages supported by the .NET framework. Prerequisite
    CS 115 with a minimum grade of 2.5. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Convert an existing VB or C++ program to a web service.
    2. Design and implement an ASP.NET based program utilizing relational databases and SQL.
    3. Use existing web controls and create new Web controls to implement a web based application.
    4. Integrate a data source with a web control or Web service.
    5. Work cooperatively in small groups to design, program, and deploy applications, Web services, and components.
  
  • CS 218 - Introduction to C#



    5.0 Credits
    Introduces the C# programming language. Topics include basic C# syntax, data types, control structures, methods, object representation using classes and arrays, all within a framework of general object-oriented programming principles. Prerequisite
    CS 115 or equivalent with a minimum grade of 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Design and implement programs with multiple classes using accepted object-oriented techniques.
    2. Develop an object-oriented Windows application that uses C# syntax, constructs, structures and multiple classes.
    3. Work with a team to design, implement and test a C# program.
  
  • CS 225 - UNIX Shell Programming



    5.0 Credits
    An intermediate course that extends previous experience with the Bourne/bash shells to program scripts used to automate system administrative tasks. Topics include environment/user defined variables, branches, loops, menus, user interaction, and functions. Prerequisite
    CS 125 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Design and implement useful shell scripts utilizing AWK programming language statements.
    2. Utilize shell variables, environment variables, shell language constructs and advanced file commands within shell scripts.
    3. Compare and contrast the Bourne, C and Korn Shells.
    4. Describe the responsibilities of the UNIX system administrator and perform the common tasks performed by a system administrator.
    5. Relate UNIX specific features to generalized operating system principles.
  
  • CS 226 - Advanced UNIX: Perl



    5.0 Credits
    Introduction to the Perl language and its use in UNIX scripting. Topics include scalar, list, hash and reference variables, control structures, formats, regular expressions, file and process input/output, subroutines, Object-Oriented Perl, and Perl’s relationship to other languages. Prerequisite
    CS 125 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Design and implement PERL programs for common system administration tasks.
    2. Utilize the UNIX-specific features of PERL.
  
  • CS 240 - Android Applications



    5.0 Credits
    An introduction to Android, a software stack for mobile devices that includes an operating system, middleware and key application. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using a variation of the Java programming language. Prerequisite
    CS& 141 with a minimum grade of 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Develop and test simple applications within the Android environment.
    2. Develop and test applications which properly interact with common Android controls.
    3. Design Android interfaces which are understandable and convenient for the user to use.
    4. Demonstrate understanding of Android core applications including an email client, SMS program, calendar, maps, browser, contacts and others.
  
  • CS 255 - Special Topics



    Maximum of 5.0 possible Credits
    Current topics of interest to students of computer science. Topics will change from offering to offering. Prerequisite
    Instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Understand basic principles involved in the topic of consideration.
    2. Implement a small program or system that makes use of principles involved in the topic.
  
  • CS 262 - Introduction to Three-Dimensional Graphics Programming



    5.0 Credits
    Introduction to the fundamental concepts of 3D graphics and animation, including an investigation of the 3D rendering pipeline and the use of the Microsoft Direct 3D library to implement a working 3D application. Prerequisite
    CS 185 with a minimum grade of 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe how positions are represented in 3D Cartesian and non-Cartesian coordinate systems.
    2. Describe various attributes, operations, and algorithms associated with graphics primitives including line drawing and shape filling algorithms and describe the relative advantages and disadvantages of each.
    3. Sketch representations of various 3D geometric objects as a series of polygonal surfaces or meshes.
    4. Encode a series of 2D points in a matrix form, perform scalar by matrix multiplication, matrix addition, subtraction, and multiplication, and be able to geometrically interpret the results of such operations.
    5. Describe how scaling, translation and rotation of a 3D cube can be represented by matrix operations.
    6. Describe how a perspective projection may be expressed as a matrix operation and how the overall rendering process can be considered as a series of space transformations which transforms the object from its local space to a screen space.
    7. Define world, view, projection, and clipping transformations and be able to express how such a series of transformations describe the rendering procs.
    8. Describe various color models commonly encountered in 3D graphics applications and commonly used techniques for specifying animation sequences.
    9. Describe the relationship of the Direct3D immediate and retained modes and the relative advantages and disadvantages of using each.
    10. Write a program which initializes a Direct3D retained mode application and creates a 3D clipper and clip list.
    11. Write a program which creates a Direct3D retained mode device, mesh scene frame, cameral frame, and viewport.
  
  • CS 271 - Three-Dimensional Game Development I DirectX



    5.0 Credits
    First of a three-course sequence. Introduction to 3D game programming using the latest version of the Microsoft 3D API. Topics include a review of 3D mathematics, transformation pipeline, initializing Direct 3D, vertex and index buffers, and single and multi-texture effects. Prerequisite
    (CS 132 or CS 135) or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Program a game scene with ambient, directional and spot lighting.
    2. Program a scene which includes a texture mapped solid figure.
    3. Program mipmapping algorithms to improve the visual detail of a solid textured figure as the figure is approached.
    4. Write programs utilizing full Direct3D tools and capabilities.
    5. Describe the overall architecture of DirectX including the relationship of hardware and software resources.
    6. Describe various rendering device performance characteristics, and their advantages and disadvantages.
    7. Describe the effects of memory placement choices on mesh load and rendering times.
    8. Describe the process of applying texture maps to polygon, including various common texture addressing modes.
    9. Describe how aliasing can cause texture artifacts, and how various filtering techniques can help eliminate the artifacts.
    10. Clearly communicate problem and solution descriptions to peers, and work with peers to jointly solve problems.
  
  • CS 272 - Three-Dimensional Game Development II DirectX



    5.0 Credits
    Second of a three-course sequence covering 3D game programming using the latest version of the Microsoft 3D API. Topics include camera management systems, texture compression, advanced texturing and alpha blending, loading GILES levels, and advanced 3D rendering techniques. Prerequisite
    CS 271 with a minimum grade of 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Recognize and describe several special effects such as particle systems, billboards, texture animation, corona, constrained billboards, and animated textures, and be able to describe situations in which these special effects can best be implemented.
    2. Write code which will implement a particle system that produces a realistic smoke trail.
    3. Design and implement an octree spatial portioning algorithm and integrate it into a general collision detection system.
    4. Write a program which will allow a user to move a sphere through a game world with realistic collision behavior.
    5. Write code that implements an animated skeleton and mesh skin.
    6. Describe how fog is represented in a 3D game, and be able to write D3D code to add fog to a game scene.
    7. Describe how transparency is modeled in a 3D rendering engine, and how alpha blending, depth ordering, and texture color keying are related to transparency models.
    8. Describe collision detection algorithms for common geometric forms, and how to integrate such algorithms into a general game engine.
    9. Clearly communicate problem and solution descriptions to instructor and peers, and work with peers to jointly solve game programming problems.
  
  • CS 273 - Three-Dimensional Game Development III DirectX



    5.0 Credits
    Third of a three-course sequence covering 3D game programming using the latest version of the Microsoft 3D API. Topics include D3DX meshes, progressive meshes, hierarchies, and frame based and mesh hierarchy based animation. Prerequisite
    CS 272 with a minimum grade of 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Program matrix operations which transform 3D geometric coordinates to their final perspective screen view.
    2. Render a frame with ambient, directional and spot lighting.
    3. Apply knowledge of material surface properties to program light characteristics in a game scene.
    4. Render a frame which includes a texture mapped solid figure.
    5. Describe the overall architecture of the OpenGL API.
    6. Clearly communicate problem and solution descriptions to peers, and work with peers to jointly solve mathematical problems.
  
  • CS 274 - Three-Dimensional Game Development IV DirectX



    10.0 Credits
    Course covers 3D game programming using the latest version of the DirectX API. Topics include particle systems, shadows, reflections, curved surface representations, collision detection and spatial partitioning. Prerequisite
    CS 273 with a minimum grade of 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Write code which will implement multiple texturing.
    2. Write code which will use environment mapping to implement chrome mapping and cartoon shading.
    3. Use hierarchical transformations to position objects relative to one another.
    4. Use vertex animation to display animated characters.
    5. Describe how hardware considerations affect graphics efficiency, and how various optimization processes can be used to overcome efficiency bottlenecks.
    6. Describe the limits on texture resolution and be able to determine cases in which the limits become important.
    7. Describe skinning and its relationship to other animation techniques.
    8. Describe the uses of spatial partitioning and write code to implement spatial partition algorithms such as, quadtrees, octtrees, KD-trees, and BSP Trees.
    9. Describe the difference between broad and narrow phase collision detection and write a program that implements both.
    10. Describe situations in which different collision detection strategies, such as ray intersection testing, ellipsoid, unit spheres, swept sphere and triangle are applicable, and be able to write algorithms to implement each technique.
    11. Describe common methods of determining potential visibility sets.
    12. Clearly communicate problem and solution descriptions to the instructor and peers, and work with peers to jointly solve programming problems.
  
  • CS 283 - Artificial Intelligence for Game Developers



    5.0 Credits
    Data structures and algorithms used in computer game AI. Includes a discussion of the two most general aspects of game AI including pathfinding and decision making. Pathfinding topics include grid traversal and search algorithms, pathfinding with A*, and waypoint networks. Decision making topics include finite state machines, scripting, and squad level AI. Prerequisite
    (CS 132 or CS 135) or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Design and implement a program that utilizes Dijkstra’s path finding algorithm to navigate arbitrary maps.
    2. Design and implement a program that utilizes the A* path finding algorithms.
    3. Discuss the history and evolution of path finding.
    4. Describe basic path finding methodology.
    5. Compare and contrast Dijkstra’s and the A* path finding algorithms.
    6. Clearly communicate problem and solution descriptions to peers, and work with peers to jointly solve programming problems.
  
  • CS 285 - Three-Dimensional Game Development Project



    5.0 Credits
    Application of basic 3D game concepts, techniques, and tools to the design and creation of a 3D game. Prerequisite
    CS 161 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Utilize 3D objects in 3D space.
    2. Incorporate Collision concepts in a 3D environment.
    3. Implement sound and music attributes.
    4. Develop and use Art assets.
    5. Present a design for a 3D game and answer questions about it.
    6. Work cooperatively and efficiently in a team to complete a working 3D game.
  
  • CS 290 - Introduction to Software Testing and Quality Assurance



    5.0 Credits
    Covers the fundamental concepts and techniques of software testing and quality assurance. Topics include goals of testing and quality assurance, classification of bugs, testing categories and techniques, test design, metrics and complexity. Prerequisite
    CS 115 with a minimum grade of 2.5 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Complete a standardized bug report.
    2. Distinguish between black box and white box testing and between structural and functional testing.
    3. Create black box test plan for a program.
    4. Describe the overall goals and limitations of testing and software quality assurance.
    5. Describe the key components of a testing model including the project, environment, program, bug, and tests.
    6. Describe tactics for finding and analyzing both reproducible and nonreproducible coding errors and be able to find and analyze such errors in a program.
    7. Describe regression testing and its general purpose.
    8. Describe the purpose, domain, and limitations of automated testing.
  
  • CS 293 - Game Testing



    5.0 Credits
    Commercial tools and techniques used for testing games, including testing using console company technical checklist. For students wishing to embark on careers in game testing or expand existing testing skills to meet the specialized requirements of the game industry. Prerequisite
    CS 290 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Identify structural components of a game that require independent testing.
    2. Identify interactions between structural components in a game that require testing.
    3. Identify and report common bugs in game control devices.
    4. Enumerate game genres and testing problems and strategies specific to each genre.
    5. Utilize testing tools to implement portions of a video game test plan.
    6. Describe the specialized problems that the hardware and software design of video games presents to the tester.
    7. Describe the common tools available for video game testing.
    8. Work in a group to design and implement a test plan for a video game.
  
  • CS 299 - Special Projects



    5.0 Credits
    Special study to be arranged by student and supervising instructor. S/U grade option. Note: Credit available with approval. For more information contact the division secretary in Alderwood Hall 218A or phone 425.640.1679. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Successfully complete a project related to the specified topic.

Construction Industry Training

  
  • CIT 120 - Flagging



    0.5 Credits
    Hands-on seminar preparing for employment as a flagger in the construction and utilities industries. Flaggers control traffic through and around work sites. Three-year certification. Note: must be 18 years of age to register. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Discuss how flagging provides safe passage for traffic through work areas.
    2. Identify proper equipment needed for flagging.
    3. Demonstrate stop/slow paddle and flag skills.
    4. Discuss major safety issues of flagging.
    5. Design a safety zone plan.
    6. Demonstrate stop/slow paddle and flag skills.
  
  • CONST 299 - Special Projects



    1.0 to 5.0 Credits
    Individual projects in construction oriented study to give exposure to practical construction problems and everyday operations in areas of particular interest to the student. Note: Department permission required. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Define project parameters.
    2. Demonstrate how project objectives align with program outcomes.
    3. Demonstrate completion of the project through written and oral reports.

Construction Management

  
  • CONST 100 - Computers in Construction



    4.0 Credits
    Introduction to business computing with emphasis on construction management using Windows and MS Office. Applies the computer as a problem-solving tool for the construction professional. Use spreadsheets, word processing, information management and presentation software in construction specific exercises. Management resources including online plan room and online data bases are introduced. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Demonstrate an ability to use the common computer hardware and software systems found in construction business settings.
    2. Create common construction documents in Word.
    3. Create an Excel worksheet.
    4. Demonstrate the use of formulas, functions and formatting in Excel.
    5. Create and utilize commonly used construction spreadsheets, estimate sheets, logs, recap and quantity sheets.
    6. Utilize Web based plan centers and Web based databases.
  
  • CONST 141 - Architectural Blueprint Reading I



    4.0 Credits
    An introduction to reading and interpreting architectural drawings. Layout, terminology, graphic standards and drafting fundamentals. Emphasis on how to locate information and cross reference with details, schedules, and specifications for clarification. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe and explain how complex plan sets are organized.
    2. Define typical construction symbols, line types, and terminology.
    3. Identify typical contract documents and describe their function.
    4. Identify and describe the components of an exterior wall section.
    5. Identify and describe the components of site plans.
    6. Identify and describe the components of civil plans.
    7. Describe the special characteristics of commercial plans and explain how to read and interpret them.
  
  • CONST 145 - Introduction to Surveying



    4.0 Credits
    Math, procedures, concepts relevant to construction layout using measuring tape, eye-level and transit. Calculate angles and distances, determine elevations and construction features. Legal descriptions, easements, covenants and conditions discussed. Prerequisite
    Completion of MATH 087 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Calculate areas and volumes using plane geometry.
    2. Calculate elevation of given points using algebra and arithmetic.
    3. Determine the elevation of given points using surveying equipment.
    4. Calculate angles and distances using trigonometry.
    5. Calculate and layout construction features using trigonometry and surveying equipment.
    6. Demonstrate ability to create and interpret topographical maps.
    7. Demonstrate ability to read and understand legal description of property, easements, and legal restrictions that run with the land.
    8. Determine the quantity of earth to be excavated.
  
  • CONST 155 - Special Topics



    Maximum of 5.0 possible Credits
    Seminars on current issues in the construction industry. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Demonstrate course-specific objectives determined by instructor.
  
  • CONST 160 - Materials and Methods



    4.0 Credits
    Exploration of the relationship between design criteria, material selection, and methods of construction. Focus on the properties of common materials and the various construction techniques associated with them. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Describe how construction documents are created and how they evolve.
    2. Describe commonly used specification formats.
    3. Describe the function of specifications, addenda, modifications, alternates, substitutions, and submittals.
    4. Describe properties of common construction materials including soils, concrete, wood and steel.
    5. Describe common earth retaining systems, foundations, structural frames and exterior shells.
    6. Research and report on material characteristics and system designs as necessary to effectively estimate costs, develop scopes of work, and perform quality control in the field.
  
  • CONST 165 - Erosion Control



    1.0 Credits
    Overview of drainage codes and regulations governing construction job sites intended for builders and inspectors. Impacts of new codes and new technologies. Focus is on acceptable methods for controlling construction site erosion and dewatering. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Conduct organized observations of erosion control issues at actual job sites.
    2. Collect and analyze data that will be used to prepare a Storm Water Pollution Prevention Plan.
    3. Identify and select site specific erosion control techniques.
  
  • CONST 177 - Structural Concrete I



    4.0 Credits
    Introduction to concrete technology. How concrete is manufactured, delivered, and handled at the construction site; inspection and testing methods. Benefits anyone responsible for the design, preparation, placement and inspection of structural concrete. Prerequisite
    Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Identify concrete types and their applications.
    2. Identify and distinguish the proper methods of handling, placing, finishing, curing and testing from those practices that result in inferior concrete.
    3. List the proper concrete management and inspection techniques for quality concrete construction.
    4. Define common terminology found in the concrete construction field.
    5. Work as a member of a small group to research a method of concrete construction.
    6. Work as a member of a small group to give a presentation on a method of concrete construction.
  
  • CONST 180 - Mechanical Codes



    3.0 Credits
    International mechanical codes in preparation for the ICC certification exam. Emphasis is on mechanical codes pertaining to installation and inspection practices. Prerequisite
    Placement in BRDGE 090 and MATH 060. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Define common terminology found in the International Mechanical Code and the International Fuel Gas Code.
    2. Interpret and apply code requirements to plans and drawings.
    3. Describe inspection techniques used in the various mechanical disciplines.
    4. Describe immediate and long term safety issues associated with mechanical and fuel systems.
  
  • CONST 181 - Plumbing Codes



    3.0 Credits
    Reviews current Uniform Plumbing Code to prepare students for the IAPMO Plumbing Inspector Certification examination. Emphasis on codes related to installing and inspecting residential and commercial plumbing systems. Prerequisite
    Placement in BRDGE 090 and MATH 060. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Demonstrate an understanding of terminology, definitions, and classifications found in the International Plumbing Code.
    2. Interpret and apply code requirements to plan review and field inspections.
    3. Identify immediate and long term safety and health issues associated with plumbing systems.
    4. Calculate pipe sizing, fixture unit determination, material application and layout with respect to code requirements and current acceptable installation methods.
  
  • CONST 185 - Civil Construction



    4.0 Credits
    Introduction to civil construction methods, materials, and inspections. Roads, storm drainage, water, and sewer systems are covered. WSDOT/APWA standard specifications and plans are studied. Conflict resolution is explored using negotiations case studies. Prerequisite
    CONST 100 and CONST 141 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Demonstrate and discuss civil construction methods, materials, standards, and practices using interactive negotiation techniques.
    2. Discuss and analyze the WSDOT/APWA Standard Specification code book as a reference.
    3. Apply and interpret multiple code sections to determine resulting outcomes.
    4. Determine quantity of materials from civil plans and specifications.
    5. Demonstrate an understanding of the intent of specific codes requirements.
  
  • CONST 200 - Basic Estimating



    4.0 Credits
    A detailed introduction to the world of construction estimating and bidding. Basic concepts, procedures, and terminology. Quantity take-off and pricing techniques. Scope of work issues and costs associated with the major components of a construction project. Prerequisite
    Completion of CONST 100 and CONST 141 or instructor permission. Corequisite


    Course-level Learning Objectives (CLOs)
    Upon successful completion of this course, students will be able to:

    1. Create a process for screening potential clients.
    2. Utilize plans, specifications, and contracts in estimating exercises.
    3. Divide a job into work packages.
    4. Access pricing information.
    5. Perform a quantity survey for excavation and concrete.
    6. Compute estimated costs from pricing and quantity information.
    7. Organize an estimating worksheet to facilitate accuracy and retrieval of information.
    8. Summarize estimated costs in a complete estimate format.
    9. Describe how the estimate is used for cost control.
    10. Describe how profit margin targets are determined.
 

Page: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 -> 14