Welcome to Edmonds Community College

Computer Science at
Edmonds Community College


Computer Science Course Descriptions

CMPSC 101    Computing Concepts (5 Credits)

A broad beginning-level survey of computer science concepts. Topics include history of computing, computerhardware, operating systems, programming logic, Internet, data management, overview of programming languages, and social context and ethics of computing.
Prerequisite: MATH 90, MATH 95 or CIS 114 with a grade of at least 2.5 or permission of instructor.

CMPSC 102    Introduction to Computer Animation (5 Credits)

Introduces some basic techniques and tools of computer animation. Students develop their own short interactive computer animation with accompanying sound and music.

CMPSC 115    Introduction to Programming (5 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 90 or MATH 95 with a grade of 2.0 or higher, or CIS 114 with a grade of 2.0 or higher, or instructor's permission.

CMPSC 120    Introduction to Windows Operating System (5 Credits)

An introductory course covering current Windows Operating Systems. Includes command line, customization, disk and file management and optimization, system configuration and trouble shooting.
Prerequisite: CIS 100 or BSTEC 130 with a grade of 2.0 or higher, or equivalent experience, or instructor's permission.

CMPSC 121    Intermediate Windows Operating System (5 Credits)

An intermediate course covering the Windows Operating System. Topics include intermediate and advanced features of the Windows Operating System, with special attention given to the Registry. S/U grade option.
Prerequisite: CIS 125 or CMPSC 120 with a grade of 2.5 or higher or instructor's permission.

CMPSC 132    Linux/UNIX I (5 Credits)

First of a two-quarter survey of Linux/UNIX operations. Topics include general operating system functions/principles, Bourne/bash shells, basic commands for common system operations, Linux installation/setup.
Prerequisite: Some computer experience highlyrecommended.

CMPSC 133    Linux and UNIX II (5 Credits)

Second of a two-quarter survey of Linux/UNIX operations. Topics include general operating system functions/principles, advanced commands, introduction to regular expressions and scripting.
Prerequisite: CMPSC 132 with a 2.5 or higher GPA or instructor's permission.

CMPSC 142    C/C++ Computer Programming I (5 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 object oriented programming.
Prerequisite: CMPSC 115 with a grade of 2.5 or higher or instructor's permission.

CMPSC 143    C/C++ Programming II (5 Credits)

Intermediate concepts of object oriented program design and implementation using the C++ language. Topics include class design, polymorphism, composition, and the general use of object oriented programming principles.
Prerequisite: CMPSC 142 with a grade of 2.5 or higher or instructor's permission.

CMPSC 144    C++ Programming III (5 Credits)

Advanced C++ programming. Topics include data structures such as lists, stacks, queues, and binary trees; the use of single and multiple inheritance, polymorphism, the Standard Template Library and object oriented design techniques.
Prerequisite: CMPSC 143 with a grade of 2.5 or higher or instructor's permission.

CMPSC 145    C and C++ Review I (5 Credits)

Intermediate concepts of object oriented program design and implementation using the C++ language. Topics include class design, polymorphism, composition, the general use of object oriented programming principles and algorithms for sorts and searches.
Prerequisite: Previous programming experience in C, C++ or Java or departmental permission.

CMPSC 146    C and C++ Review II (5 Credits)

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.
Prerequisite: Successful completion of CMPSC 145 or instructor's permission.

CMPSC 151    Java Programming I (5 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: CMPSC 115 or equivalent with a grade of 2.5 or higher or instructor's permission.

CMPSC 152    Java Programming II (5 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: CMPSC 151 or equivalent with a grade of 2.5 or higher or instructor's permission.

CMPSC 153    Java Programming III (5 Credits)

Advanced Java programming. Topics include data structures such as lists, stacks, queues, and binary trees; inheritance and interfaces; using standard collection classes and algorithms; and Generics.
Prerequisite: CMPSC 152 or equivalent with a grade of 2.5 or higher or instructor's permission.

CMPSC 161    Introduction to Computer Game Development (5 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: One programming course with a grade of 2.5 or higher or instructor's permission.

CMPSC 162    Graphics and Game Programming I (5 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: CMPSC 161 with a grade of 2.5 or higher or instructor's permission.

CMPSC 163    Graphics and Game Programming II (5 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: CMPSC 162 with a grade of 2.5 or higher or instructor's permission.

CMPSC 170    Game Mathematics I (5 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: College algebra or department permission.

CMPSC 172    Game Mathematics II (5 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: CMPSC 170 with a grade of a least 2.5 or department permission.

CMPSC 173    Windows Programming Using C++ / SDK (5 Credits)

The development of Windows application programs using C and C++ with an emphasis on creating Windows based graphics and animation frameworks.
Prerequisite: CMPSC 142 with a grade of 2.5 or higher or instructor's permission. Concurrent enrollment in CMPSC 143 is recommended.

CMPSC 185    2D Game Development Project (5 Credits)

Course covers 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.
Prerequisite: CMPSC 161 or instructor's permission.

CMPSC 194    3D Graphics and Computer Animation I (5 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 commercial animation software package, producing a final short animation sequence.
Prerequisite: A working familiarity with computers is recommended.

CMPSC 195    3D Graphics and Computer Animation II (5 Credits)

A continuation of CMPSC 194. General concepts and techniques of texturing, animating and rendering 3D computer models as well as their implementation using Maya 3D animation software.
S/U grade option.
Prerequisite: CMPSC 194 with a grade of 2.5 or better, or instructor's permission

CMPSC 199    Special Projects (5 Credits)

Special study to be arranged by student and supervising instructor. S/U grade option. Note: Credit available with approval. For information contact the division secretary in ALD 218A or phone 425-640-1679.

CMPSC 210    Game Physics (5 Credits)

Application of the laws of physics to the creation of computer games with physics-based realism.
Prerequisite: MATH 132, CMPSC 143, and College Level Physics, each with a grade of at least 2.5, or equivalent experience.

CMPSC 215    Intermediate Visual Basic.NET (5 Credits)

Course introduces 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: CMPSC 115 with a grade of 2.5 or higher or instructor's permission.

CMPSC 216    Advanced Visual Basic.NET Programming (5 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: CMPSC 215 with a grade of at least 2.5 or permission of instructor.

CMPSC 217    Internet Programming with .NET (5 Credits)

Learn to design, program and deploy applications, web services, and components in an enterprise environment using the latest tools and languages supported by the .NET framework.
Prerequisite: CMPSC 115 with a grade of 2.5 or higher.

CMPSC 225    Introduction to C# (5 Credits)

Introduces the C# programming language. Addresses the basic principles of object oriented programming using C#, and the development of Windows and Web programming applications.
Prerequisite: CMPSC 115 or equivalent with a grade of 2.5 or instructor's permission.

CMPSC 233    UNIX Shell Programming (5 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: CMPSC 132 or instructor's permission.

CMPSC 234    Advanced UNIX: Perl (5 Credits)

An introduction to the Perl language and its use in UNIX operating system scripting. Topics include scalar, array/hash variables, control structures, formats, regular expressions, file and process input/output, subroutines, Perl's relationship to other languages.
Prerequisite: CMPSC 132 or instructor's permission.

CMPSC 245    Telecommunications and Computer Networks (5 Credits)

A foundational, hands-on course working with network operating systems and local area networks. Designed to demystify personal computers as well as foster improved efficiency. Topics include: how data is transmitted and received, servers, clients, and packet communication.
Prerequisite: A general familiarity with personal computers is recommended.

CMPSC 255    Special Topics (5 Credits)

Current topics of interest to students of computer science. Topics will change from offering to offering.
Prerequisite: A minimum of four computing related courses.

CMPSC 262    Intro to 3D Graphics Programming (5 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: CMPSC 185 with a grade of 2.5 or higher or instructor's permission.

CMPSC 270    Game Programming Seminar (1-5 Credits)

An on-campus support course for students taking on-line game programming courses. This course will involve focused study of a variety of game programming topics, based on the student's needs, under the guidance of an instructor.
Prerequisite: Concurrent enrollment in another game programming class is recommended.

CMPSC 271    3D Game Programming I Directx (5 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: CMPSC 143 or 145 or departmental permission. CMPSC 161 highly recommended.

CMPSC 272    3D Game Programming II Directx (5 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: CMPSC 271 with a grade of at least 2.5 or departmental permission.

CMPSC 273    3D Game Dev III Directx (5 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: CMPSC 272 with a grade of at least 2.5 or departmental permission.

CMPSC 274    3D Game Dev IV Directx (5 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: CMPSC 273 with a grade of at least 2.5 or equivalent experience.

CMPSC 275    3D Programming with OpenGL (5 Credits)

Introduction to 3D game programming using the latest version of the OpenGL API. Course topics include 3D geometry, the transformation and lighting pipeline, and texturing and shading a 3D game world.
Prerequisite: CMPSC 143 or 145 or departmental permission. CMPSC 271 recommended.

CMPSC 280    Sony PS2 Linux Programming (5 Credits)

Introduction to Playstation2 game programming using the Linux Kit for Playstation2. Topics include Linux installation and configuration, game development tools and techniques, graphics API's, 3D geometry, shading and texturing, and game pad input.
Prerequisite: Introductory C/C++ (CMPSC 142 or CMPSC 145 ) or equivalent experience.

CMPSC 283    Artificial Intelligence for Game Developers (5 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: CMPSC 143 or 145 or departmental permission. CMPSC 161 and 271 highly recommended.

CMPSC 285    3D Game Development Project (5 Credits)

Application of basic 3D game concepts, techniques, and tools to the design and creation of a 3D game.
Prerequisite: CMPSC 161 or instructor's permission.

CMPSC 289    RealTime 3D Terrain Rendering (5 Credits)

Introduction to the concepts of 3D landscape rendering. Topics include terminology, Rottger and ROAM algorithms, data structures, texture mapping, and lighting.
Prerequisite: CMPSC 275.

CMPSC 290    Intro to Software Testing and Quality Assurance (5 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: CMPSC 115 with a grade of 2.5 or higher or instructor's permission.

CMPSC 293    Game Testing (5 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: CMPSC 290 recommended or instructor's permission.

CMPSC 299    Special Projects (5 Credits)

Special study to be arranged by student and supervising instructor. S/U option. Note: Credit available with approval. For information contact the division secretary in ALD 218A or phone 425-640-1679.

Edmonds Community College20000 68th Ave W Lynnwood, WA 98036 • (425) 640-1459
Problem? rss print
질문있으세요?¿Preguntas?Вы cпрашиваете?Câu Hỏi?


Last updated: 10/20/08