2011 – 2012Course DescriptionsCOMP 105 COMPUTER PROGRAMMINGINTRODUCTION (3)Three hours lecture in the lab per weekPrerequisites: COMP 101 or Consent ofinstructorProvides a balanced view of computingand provides an introduction to the worldof computer science. In depth coverageof the design, development, andexpression of algorithms. Covers a varietyof concepts relevant to the beginningstudent, including computer organizationand design. Not open to students whohave completed COMP 150.GenEd: B4COMP 110 COMPUTER LITERACYFOR EDUCATORS (3)Three hours lecture per weekAn introduction to computer systems,including web applications, wordprocessing, spreadsheets, databaseemphasizing their use in educationalsettings.Same as LS 110GenEd: B4COMP 121 INTRODUCTION TOPROGRAMMING IN C (3)Three hours lecture per weekIntroduces the student to problem solvingusing algorithmic methods implementedin the C programming language. The Cprogramming language is presented ina manner appropriate for students withno prior programming experience. Theemphasis is on scientific applicationswithin a UNIX environment.COMP 150 OBJECT-ORIENTEDPROGRAMMING (4)Four hours lecture in the lab per weekPrerequisites: MATH 105 or EquivalentIntroduction to algorithms, theirrepresentation, design, structuring,analysis and optimization. The courseintroduces the concept of objectparadigm, design and implementationof algorithms as structured programs in ahigh level language.GenEd: B4COMP 151 DATA STRUCTURES ANDPROGRAM DESIGN (4)Three hours lecture and three hours labper weekPrerequisite: COMP 150Introduction to data structures and thealgorithms that use them. Review ofcomposite data types such as arrays,records, strings, and sets. Topicsinclude: the role of the abstract datatype in program design, definition,implementation and application of datastructures such as stacks, queues, linkedlists, trees and graphs; recursion; use oftime-complexity expressions in evaluatingalgorithms.; comparative study of sortingand searching algorithms.COMP 162 COMPUTER ARCHITECTUREAND ASSEMBLY LANGUAGE (3)Three hours lecture per weekPrerequisite: COMP 150An introduction to computer architecture,assembly language programming, systemsoftware and computer applications.Topics include: number systems anddata representation; internal organizationof a computer; primitive instructionsand operations; Assembly language;language translation principles; overviewof operating systems.COMP 221 INTRODUCTION TO UNIX ANDC FOR PROGRAMMERS (3)Three hours lecture per weekPrerequisite: COMP 151Fundamentals of the UNIX operatingsystem, including the command lineinterface (CLI), shell commands andrelated utilities. C will be covered atan accelerated pace, appropriate forstudents who already know anotherprogramming language. Fundamental Clibraries, and basic UNIX system calls,will be covered. Principles of the programdevelopment cycle as applied to a UNIXenvironment will also be presented.COMP 232 PROGRAMMINGLANGUAGES (3)Two hours lecture and three hours lab perweekPrerequisites: COMP 151 andCOMP 162Discussion of issues in the design,implementation, and use of high-levelprogramming languages. Topics include:historical background; how languagesreflect different design philosophies anduser requirements; technical issues in thedesign of major imperative (procedural)programming languages; otherapproaches to programming: functionalprogramming, logic programming, andobject-oriented programming.COMP 262 COMPUTER ORGANIZATIONAND ARCHITECTURE (3)Three hours lecture per weekPrerequisites: COMP 151 andCOMP 162Extension of basic addressing conceptsto more advanced addressabilitysuch as base register and self relativeaddressing. Topics include: comparativecomputer architecture focusing onsuch organizations as multiple registerprocessors and stack machines; basics ofvirtual memory, input/output; introductionto the concept of microprogrammablesystems; low-level language translationprocess associated with assemblers;system functions such as relocatableloading and memory management;application of data structure and hashingtechniques to the above.COMP 337 SURVEY OF COMPUTERGAMING (3)Three hours lecture per weekThis course provides the student witha broad understanding of the worldof computer gaming. This includes theevaluation and analysis of the cultural,historical, literary, psychological, andtechnological impact of computer gamingon society. The course will survey thedifferent types of computer games such aseducational, sports, first person shooter,adventure, and strategy, along with anoverview of the design, implementation,and testing issues that confront gamedevelopers. The student will construct,submit and evaluate several writtenreports during the semester.GenEd: B4, InterdisciplinaryCOMP 345 DIGITAL IMAGE PROCESSING (3)Three hours lecture in the lab per weekPrerequisite: Consent of instructorAn introduction to the basic concepts andtechniques for digital image restorationand enhancement, analysis, codingand compression. The emphasis is onprocesses which analyze primarily twodimensionaldiscrete images representedat the pixel level, including filtering, noisereduction and segmentation. Fourieranalysis techniques will be explored.Programming exercises will be used toimplement the various processes, andtheir performance on synthetic and realimages will be studied.Same as PHYS 345, MATH 345GenEd: B1, B4, InterdisciplinaryCOMP 350 INTRODUCTION TOSOFTWARE ENGINEERING (3)Two hours lecture and three hours lab perweekPrerequisites: COMP 232 andCOMP 262Concepts and techniques for systemsengineering, requirements analysis,design, implementation and testing oflarge scale computer systems. Principlesof software engineering for productionof reliable, maintainable and portablesoftware products. Emphasis onfunctional analysis and structured designtechniques. Topics include unit, integrationand systems testing, configuration236 www.csuci.edu • California State University <strong>Channel</strong> <strong>Islands</strong> • 2011 - 2012 Catalog
management, and software qualityassurance practices. Participation in groupactivities involving analysis, design andimplementation of a software intensivesystem. Introduction to Computer AidedSoftware Engineering (CASE).COMP 351 DISTRIBUTED COMPUTING (3)Three hours lecture per weekPrerequisite: COMP 151Learn effective use of remote objects andcomponent technologies in computerprograms. Study of fundamentals ofdistributed programming technologies.Build expertise in using modern tools andservices to transparently integrate localand remote resources to solve problems.COMP 362 OPERATING SYSTEMS (4)Three hours lecture and three hours labper weekPrerequisite: COMP 262Examination of the principal typesof systems including batch, multiprogramming,and time-sharing.Networked systems are also discussed.The salient problems associated withimplementing systems are consideredincluding interrupt or event drivensystems, multi-tasking, storage and database management, and input-output.Emphasis will be placed on some of thesimple algorithms used to solve commonproblems encountered such as deadlocks,queue service, and multiple accessesto data. Projects will be implemented toreinforce the lectures.COMP 420 DATABASE THEORYAND DESIGN (3)Three hours lecture in the lab per weekPrerequisites: MATH 300 or MATH 301and COMP 151Topics include: database structureincluding: structure definition, datamodels, semantics of relations, andoperation on data models; databaseschemas: element definition, use andmanipulation of the schema; elementsof implementation.; algebra of relationson a database; hierarchical data bases.Discussion of information retrieval,reliability, protection and integrity ofdatabases.COMP 421 UNIX FOR PROGRAMMERS (3)Three hours lecture per weekPrerequisites: COMP 350 andCOMP 362The use of Unix operating environmentincluding command line Unix utilities, viand emacs editors, regular expressions,text processors and Unix shells,fundamental Perl and its application inprogramming CGI. Writing in C utilitiesthat control the operating environmentthrough the use of system calls.Developing programs using Unix facilities.COMP 424 COMPUTER SYSTEM SECURITY (3)Three hours lecture in the lab per weekPrerequisites: COMP 350 andCOMP 362Security techniques in operating systems,data bases, and computer networks.Analysis of formal security models.Introduction to cryptography, and publickey security schemas.COMP 425 COMPUTER GAMEPROGRAMMING (3)Three hours lecture per weekPrerequisites: COMP 429 andCOMP 464This course focuses on exploring softwaretechniques for development of computercontrolledgames. The topics include:principles of game design, integratinggraphics, animation and audio in games,game control including methods basedon artificial intelligence, networking formulti-player games, game optimizationand deployment, and game developmentcyclesCOMP 429 COMPUTER NETWORKS (3)Three hours lecture in the lab per weekPrerequisites: COMP 232 andCOMP 362Basic software design and analysisconsiderations in networking computersinto coherent, cooperating systemscapable of processing computationaltasks in a distributed manner. Networktopology, routing procedures, messagemultiplexing and process schedulingtechniques will be discussed.COMP 437 FOUNDATIONS OF COMPUTERGAME DEVELOPMENT (3)Three hours lecture per weekPrerequisites: COMP 105, MATH 137,ART 205, ART 206 or Instructor permissionProvides the foundation for a multidisciplinaryapproach to computergame development. The students studygame design principles; implementationmethodologies and technologies; gamingindustry management issues, perspectivesfrom art, technology and business.GenEd: B4, InterdisciplinaryCOMP 445 IMAGE ANALYSIS ANDPATTERN RECOGNITION (3)Three hours lecture in the lab per weekPrerequisites: PHYS/COMP/MATH 345 orConsent of instructorThe course addresses the issue ofanalyzing the pattern content within animage. Pattern recognition consists ofimage segmentation, feature extractionand classification. The principlesand concepts underpinning patternrecognition, and the evolution, utility andlimitations of various techniques (includingneural networks) will be studied.Programming exercises will be used toimplement examples and applicationsof pattern recognition processes, andtheir performance on a variety of diversesynthetic and real images will be studied.Same as PHYS 445, MATH 445GenEd: B1, B4, InterdisciplinaryCOMP 447 SOCIETAL ISSUES INCOMPUTING (3)Three hours lecture in the lab per weekPrerequisite: Senior standingSurveys the role of the digital computerin modern society. Topics include:dangers of the misuse of computers,privacy,copyright, computer crime, legaland social issues, as well as the ethicaland appropriate use of computers.GenEd: B4, D, InterdisciplinaryCOMP 449 HUMAN-COMPUTERINTERACTION (3)Three hours lecture in the lab per weekThe information exchange betweenhumans and computer systems willbe examined. Aspects of input/outputdevices, software engineering, andhuman factors will be discussed withrespect to human-computer interactions.Topics include: text and graphicdisplay; user modeling; programdesign, debugging, complexity andcomprehension; and current researchstudies and methodologies.Same as PSY 449GenEd: B4, E, InterdisciplinaryCourse Descriptions2011 – 2012www.csuci.edu • California State University <strong>Channel</strong> <strong>Islands</strong> • 2011 - 2012 Catalog237