EDCC Logo
 
Computer Science

Course Descriptions

CS 102: Introduction to Computer Animation

Credits: 5.0

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.

Course Level Objectives

Upon successful completion of this course, sudents 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. [REASON]
  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. [REASON]
  3. Write a computer program that displays animated images on the screen. [REASON]
  4. Include meaningful sounds and music within an animated program. [COMMUNICATE]
  5. Work as an effective team member to accomplish common animation project goals in a timely fashion. [COMMUNICATE]
  6. Make an oral and visual presentation to the class, summarizing their final project results. [COMMUNICATE]

CS 102: Introduction to Computer Animation:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 115: Introduction to Programming

Credits: 5.0

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 (was CMPSC 115).Prerequisite(s): MATH 090 or MATH 095 or CIS 114 with a grade of 2.0 or higher, or placement above MATH 095, or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS 115: Introduction to Programming:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 125: Linux and UNIX I

Credits: 5.0

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(s): Some computer experience highly recommended.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS 125: Linux/UNIX I:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 126: Linux and UNIX II

Credits: 5.0

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(s): CS 125 (was CMPSC 132) with a 2.5 or higher GPA or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

  1. Restrict user logins based on location, time of day and other criteria. [REASON]
  2. Create software packages from source and manage remote package repositories. [REASON]
  3. Create and optimize advanced disk systems including disk encryption. [REASON]
  4. Configure Linux networking configuration using Bash shell scripts. [REASON]
  5. Configure web, dns, mail and file servers securely. [REASON]
  6. Manage secure remote graphical and cli logins. [REASON]
  7. Explain various server configuration strategies to management personnel. [COMMUNICATE]

CS 126: Linux and Unix II:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS& 131: Computer Science I C++

Credits: 5.0

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(s): CS 115 (was CMPSC 115) with a grade of 2.5 or higher or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS& 131: Computer Science I C++:Lab

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 132: Computer Science II C++

Credits: 5.0

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 (was CMPSC 143).Prerequisite(s): CS& 131 (was CMPSC 142) with a grade of 2.5 or higher or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS 132: Computer Science II C++:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 133: Computer Science III C++

Credits: 5.0

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 (was CMPSC 144).Prerequisite(s): CS 132 (was CMPSC 143) with a grade of 2.5 or higher or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS 133: Computer Science III C++:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 135: C and C++ Review I

Credits: 5.0

Part 1 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 (was CMPSC 145). Prerequisite(s): Previous programming experience in C, C++, or Java or department permission.

Course Level Objectives

Upon successful completion of this course, sudents 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. [REASON]
  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. [REASON]
  3. Design and write applications in C++ which demonstrate a mastery of data representation and abstraction using primitive types, arrays, structs, and pointers. [REASON]
  4. Apply object oriented techniques to identify objects in a problem domain and code classes to represent those objects. [REASON]
  5. Apply basic concepts of inheritance to create an application class which uses an inheritance hierarchy and polymorphic behavior to solve a problem. [REASON
  6. Describe the basic characteristics of object oriented design and programming, and the advantages of employing object oriented techniques. [COMMUNICATE]
  7. Clearly communicate problem and solution descriptions to peers using an online forum, and work with peers to jointly solve problems. [COMMUNICATE]

CS 136: C and C++ Review II

Credits: 5.0

Part II 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 (was CMPSC 146).Prerequisite(s): Successful completion of CS 135 (was CMPSC 145) or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents 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. [REASON]
  2. Write small programs which demonstrate use of low-level bitwise operations. [REASON]
  3. Design and write applications that use the Standard Template Library to solve problems involving complex data structures and algorithms. [REASON]
  4. Describe the fundamental graphics and input programming interface of the Windows operating system, including the message loop and callback mechanisms. [REASON]
  5. Write a C++ program that utilizes the Windows programming interface to present a typical program interface including menus, dialog boxes, and buttons. [REASON]
  6. Write a C++ program that utilizes the Windows graphics and mouse libraries to create an interactive 2D animation. [REASON]
  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. [REASON]
  8. Locate and use printed and on-line documentation to solve programming problems. [REASON]
  9. Describe applications which will benefit from low-level bitwise operation. [COMMUNICATE]

CS& 141: Computer Science I Java

Credits: 5.0

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 (was CMPSC 151).Prerequisite(s): CS 115 (was CMPSC 115) or equivalent with a grade of 2.5 or higher or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS& 141: Computer Science I Java:Lab

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 142: Computer Science II Java

Credits: 5.0

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 (was CMPSC 152).Prerequisite(s): CS& 141 (was CMPSC 151) or equivalent with a grade of 2.5 or higher or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS 142: Computer Science II Java:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 143: Computer Science III Java

Credits: 5.0

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 (was CMPSC 153).Prerequisite(s): CS 142 (was CMPSC 152) or equivalent with a grade of 2.5 or higher or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS 143: Computer Science III Java:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 161: Introduction to Computer Game Development

Credits: 5.0

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 (was CMPSC 161). S/U grade option.Prerequisite(s): One programming course with a grade of 2.5 or higher or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

  1. Categorize games according to common game genres. [REASON]
  2. Describe diverse game components. [REASON]
  3. Enumerate the general computer game platforms and the strength and weaknesses of each. [REASON]
  4. Describe the game development process. [REASON]
  5. Prepare a design document for a simple game. [REASON]
  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. [REASON]
  7. Create an optimized game which includes geometric transformations, multilevel scrolling, sprite animation, and collision detection using Visual Basic.NET and the Windows GDI+ (Graphics Device Interface). [REASON]
  8. Independently research an aspect of computer game development. [REASON]
  9. Describe general characteristics common to all games. [COMMUNICATE]
  10. Complete a project as part of a team or group programming effort. [COMMUNICATE]
  11. Present a reasoned opinion on a current social controversy involving the nature of computer games. [EXPLORE]

CS 161: Computer Game Development I:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 170: Game Mathematics I

Credits: 5.0

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 (was CMPSC 170). Prerequisite(s): College algebra or department permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS 172: Game Mathematics II

Credits: 5.0

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 (was CMPSC 172). Prerequisite(s): CS 170 (was CMPSC 170) with a grade of at least 2.5 or department permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

  1. Define a vector and describe and utilize common vector operations including addition, subtraction, and dot products. [REASON]
  2. Define a matrix and common matrix properties and operations including the identity and transpose matrix determinant, matrix addition, subtraction, and multiplication. [REASON]
  3. Solve systems of linear equations using matrix operations and gaussian elimination. [REASON]
  4. Interpret common vector operations from both an analytic and geometric viewpoint. [REASON]
  5. Define a linear transformation recognize linear transformations from both algebraic and geometric representations. [COMMUNICATE]
  6. Write common transformation matrices used in game programming, including scaling, skewing, translation, rotation, and projection matrices. [REASON]
  7. Define imaginary and complex numbers and their common properties and operations such as power, multiplication, division, addition, subtraction, conjugate, and magnitude. [REASON]
  8. Define hypercomplex numbers and quaternions, and describe how they and their common operations represent a generalization of complex numbers. [COMMUNICATE]
  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. [REASON]
  10. Apply the principles of game mathematics to represent scene generation in a 3D game including motion, lighting and texturing. [REASON]
  11. Clearly communicate problem and solution descriptions to peers, and work with peers to jointly solve mathematical problems. [COMMUNICATE]

CS 185: Two-Dimensional Game Development Project

Credits: 5.0

Techniques and tools used to create non-graphic game components such as joystick I/O, sound, video, networking, and artificial intelligence. Students integrate these components into a 2D game project (was CMPSC 185).Prerequisite(s): CS 161 (was CMPSC 161) or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS 185: 2D Game Project:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 194: Three-Dimensional Graphics Animation

Credits: 5.0

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 (was CMPSC 194).Prerequisite(s): A working familiarity with computers is recommended.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

  1. Apply common modeling techniques such as extrusion, revolution, deformation, and fractal generation to create simple volumetric object. [REASON]
  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. [COMMUNICATE]
  3. Describe orthographic and perspective/camera views, and demonstrate an understanding by navigating and manipulating objects in these views using 3D animation software. [COMMUNICATE]
  4. Describe how multiple world objects can be represented as a hierarchy, and animate multiple objects using this knowledge and 3D animation software. [COMMUNICATE]
  5. Apply common modeling techniques such as extrusion, revolution, deformation, and fractal generation to create simple volumetric objects. [REASON]
  6. Use various techniques to generate and apply surface textures to 3D objects. [REASON]
  7. Use key frame and function curve animation techniques to animate a 3D object. [REASON]
  8. Render, shade and optimize a scene. [REASON]
  9. Create and complete final editing for a movie file. [REASON]
  10. Set various camera views and scene light sources and be able to render the final scene using a commercial 3D graphics program. [REASON]

CS 194: 3D Graphics Animation:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 217: Internet Programming with .NET

Credits: 5.0

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 (was CMPSC 217). Prerequisite(s): CS 115 (was CMPSC 115) with a grade of 2.5 or higher.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS 218: Introduction to C#

Credits: 5.0

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 (was CMPSC 225).Prerequisite(s): CS 115 (was CMPSC 115) or equivalent with a grade of 2.5 or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

  1. Design and implement programs with multiple classes using accepted Object-Oriented techniques. [REASON]
  2. Develop an object-oriented Windows application that uses C# syntax, constructs, structures and multiple classes. [REASON]
  3. Work with a team to design, implement and test a C# program. [COMMUNICATE]

CS 218: Introduction to C#:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 225: UNIX Shell Programming

Credits: 5.0

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 (was CMPSC 233).Prerequisite(s): CS 125 (was CMPSC 132) or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS 225: UNIX Shell Programming:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 240: Android Applications

Credits: 5.0

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(s): CS& 141 with a grade of 2.5 or higher or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS 240: Android Applications:Lab

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to:


CS 290: Introduction to Software Testing and Quality Assurance

Credits: 5.0

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 (was CMPSC 290).Prerequisite(s): CS 115 (was CMPSC 115) with a grade of 2.5 or higher or instructor permission.

Course Level Objectives

Upon successful completion of this course, sudents will be able to:

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

CS 290: Software Testing I:LAB

Credits: 0.0

-

Course Level Objectives

Upon successful completion of this course, sudents will be able to: