Computer Science (CS) Courses

This is content from the Catalog 2017–2018 back issue. Please visit the current catalog for current information.

College of Arts and Sciences (CAS)

See How to read course descriptions for information about the formatting used.

CS 100 Prin Of Computer Sci (3) General survey of the entire field of computer science. Principles of machine architecture, human/machine interface, data organization, and their interrelationship.

CS 101 Digital Tools for Info World (3) Hands-on computer class with emphasis on producing professional-level documents, spreadsheets, presentations, databases and web pages for problem-solving. Includes concepts, terminology and a contemporary operating system. Meets requirements for the College of Business at UH Manoa and UH Manoa's Biology program and Botany department. Prepares students for College of Business Computer Competency certification test at UH Hilo.

CS 102 MS Office Tools for Math & Sci (3) Use of symbols, equations, images in scientific documents. Computations using spreadsheets with sums, averages, and scientific functions. Data analysis: curve fitting, interpolation, statistics. Data presentation: visualization, charts, and graphs. Symbolic computation. Database processing: forms, queries, reports, VBA. Additional topics chosen from: real-time data acquisition, more advanced statistical methods, system simulation. Intended for science majors. (Same as MATH 111) (Satisfies a Quantitative Reasoning General Education requirement as a Mathematics course)

CS 130 Beg Graphics, Game Programg (3) Introduction to two-dimensional graphics and game programming: graphic elements, layers and simple animation; principles of game design and implementation; emphasis on Flash and Action Script programming; game physics; simple AI techniques. Previous programming experience helpful but not required.

CS 132 Intro to Health Informatics (3) This introductory course will cover a broad range of topics relating to the area of health informatics and health care technology with a focus on standard and current software tools.

CS 135 Animation Programming (3) A gentle introduction to programming with user-friendly software (Alice). Students us storyboarding design strategies and create Disney/Pixar-like animations with objects in three-dimensional virtual worlds. These animations promote an understanding of basic programming constructs including, control structures and object-oriented programming. Projects based on Hawaiian and Pacific themes will be emphasized. Open to all students; especially intended for those with no programming experience. Computer science majors may take this course to prepare for CS 150. (Attributes: HPP)

CS 137 Digital Media with Flash (3) Use digital images, sounds, and video to create slide shows, animation, podcasts, tutorials, demonstrations, e-portfolios, etc. Save to DVD and web pages. Learn Flash and other software. Students may use existing content such as research project photos. Pre: any prior CS course or instructor's consent.

CS 138 Intro to Computing with Robots (3) A gentle introduction to computer programming using robot kits and a high level programming language. Students will learn how to control and communicate with robots and at the same time gain an understanding of basic programming constructs, including control structures and object-oriented programming. Student projects will include use of robots to simulate space exploration as well as other tasks suited to robots. Computer science majors may take this course to prepare for CS 150.

CS 140 Multimedia Programming (3) An introduction to computer programming in the context of multimedia. Introduces students to some of the principles of computer science. Students will learn how to write computer programs (in Python) for creating and manipulating three types of media: pictures, sounds, and movies. Computer science majors may take this course to prepare for CS 150.

CS 141 Discrete Math for Comp Sci I (3) Includes logic, sets, functions, matrices, algorithmic concepts, mathematical reasoning, recursion, counting techniques, probability theory. Not open to students with credit in Math 310. Pre: MATH 140x or MATH 135 and MATH 140.

CS 150 Intro To Computer Science I (3) Intended for Computer Science majors and all others interested in the first course in programming. An overview of the fundamentals of computer science emphasizing problem solving, algorithm development, implementation, and debugging/testing using an object-oriented programming language. Pre: MATH 135 or higher or Placement into MATH 135 or higher.

CS 151 Intro to Computer Sci II (3) Reinforces and strengthens problem solving skills using more advanced features of programming languages and algorithms such as recursion, pointers, and memory management. Emphasizes the use of data structures such as arrays, lists, stacks, and queues. Pre: CS 150.

CS 200 Web Technology I (3) Introductory web page authoring. Creation of client-side web pages using web authoring language and style sheets. Consideration of graphical design elements, validation, browser compatibility, and accessibility. Use of scripting language to add dynamic elements to web pages.

CS 201 Web Technology II (3) Intermediate web page authoring. Creation of web pages that present data from XML sources and use XSLT transformations. Development of an e-commerce web site that uses a standard browser to accept user input, processes the user input with business logic, and connects to a back-end SQL database. Publication of web site to a web server. Pre: CS 200 or instructor's consent.

CS 205 PC Hardware (3) An introduction to the hardware components and assembly of personal computers and their connectivity to networks. Includes laboratory and hands-on assembly.

CS 241 Discrete Math for Comp Sci II (3) Includes functions, matrices, graph theory, trees and their applications, Boolean algebra, introduction to formal languages and automata theory. Pre: CS 141 and MATH 205.

CS 266 Comp Org & Assembly Lang (3) Organization of computers; assembly language; instruction sets: CPU; memory; input/output; interrupts; DMA. Pre: CS 150.

CS 282 Practical Comp for Sci & Engg (3) Create scientific and engineering computation spreadsheets emphasizing equations, references, mathematical functions, and charts. Use MS Excel to show trends, solve what if scenarios, filter information, and summarize information. Design and create MS Access tables, relationships, forms, queries, and reports to analyze scientific data. This class primarily focuses on advanced features and functions of MS Excel and MS Access and creates applications to solve scientific and engineering problems. Pre: MATH 140X (may be taken concuurently).

CS 300 Web Site Management (3) Advanced topics in web site administration. Issues covered include: site management (operating system, web server and database installation and administration); security (cryptography, authentication, digital certificates); and content (site design, ethical and business considerations). Pre: CS 200 or instructor's consent.

CS 315 Board Game Analysis & Design (3) This course focuses on the design and analysis of modern board games, card games, and other table-top games. Through game play, design, and writing assignments, students will develop critical thinking, problem solving, research and technical writing skills.

CS 321 Data Structures (3) Basic concepts of space/time efficiencies Algorithms and data structures for searching (binary search trees, AVL trees, hash tables) and sorting. Graph algorithms. Data compression using Huffman codes. Pre: CS 151 and 241, or instructor's consent.

CS 340 Graphical User Interfaces (3) Study of the graphical user interface as applied to computer software. Examination of history, human factors, design, technology and implementation of graphical user interfaces. Pre: CS 151.

CS 350 Systems Programming (3) Introduction to systems programming in the UNIX environment. Topics include the UNIX command shells and scripting, the C programming language, UNIX programming tools and system calls, processes and process management, file and console I/O, and other selected topics. Designed for students interested in scientific, engineering or systems programming, systems administration or graduate education in computer science. Pre: CS 151.

CS 407 Intro To Numerical Analysis I (3) Solutions of equations in one variable, direct and iterative methods for systems of linear equations, the algebraic eigenvalue problem, interpolation and polynomial approximation, error analysis and convergence for specific methods. Offered spring semester. Pre: C in MATH 206 and MATH 311 and programming experience. (Same as MATH 407).

CS 410 Elemts Computer Architec (3) (lecture/lab) Basic Machine Architecture, Cache Memory, Computer Arithmetic, RISC, Instructional-level Parallelism, Superscalar Processors, Microprogrammed Control, Parallel Processing. Performance Evaluation. Pre: CS 266 and 321.

CS 420 Database Internals (3) Concepts and methods for managing persistent data. Study of stream, sequential, relative and indexed organizations. Implementation techniques and performance. Introduction to SQL. XML as a data transport and storage mechanism. Pre: CS 321.

CS 421 Database Systems Design (3) Data models: hierarchical, network, relational, object oriented. Relational database management systems. Database design. Client/server systems. Web access to databases. Database administration and security. Transaction management. Database programming. Pre: CS 420.

CS 422 Database Analytics (3) Further study of database design. Administrative and user capabilities of a modern database management system. Database security. Transaction management. Database programming: client and server. Two and three-tier client server systems. Web services and mobile applications. Data transformation. XML as a data transport, and storage mechanism. Pre: CS 421.

CS 430 Operating Systems (3) Covers the concepts, issues and design of modern operating systems. Topics include processes and state, concurrency, resource management algorithms for memory, processors and I/O devices, protection and security. Case studies of popular workstation, server and mainframe operating systems. Laboratory projects teach concurrent programming and OS implementation techniques. Pre: CS 266, CS 321.

CS 431 Networks & Data Commun (3) Thorough survey course covering major networking concepts such as Link-level Flow, Error Control, Congestive Control and QOS. Modern network protocols such as TCP/IP, ATM, Frame Relay, Ethernet, Fiber Channel and Wireless LANs will be compared and contrasted. Pre: CS 321.

CS 435 Computer Security & Forensics (3) Introduction to the concepts, theory, and application of computer security and computer forensics. Topics include cryptography, user authentication, intrusion detection, malicious software, denial-of-service, firewalls, etc. Software security topics such as buffer overflow, software security other issues, security protocols, and standards. Discuss some basic principles of computer forensics & investigations and reiterate ethical issues. Pre: CS 151

CS 440 Artificial Intelligence (3) Fundamental concepts of artificial intelligence including problem solving, heuristic search and knowledge representation. Discussion of applications such as game playing, theorem proving, and knowledge based expert system. Pre: CS 321.

CS 450 Org Of Programming Lang (3) Advanced introduction to the concepts and issues in the design of computer programming languages. Topics include classification of languages, types, semantics, special forms parameter passing, closures, object-orientation, continuations, concurrency, exceptions, interpreters and garbage collection. Laboratory projects highlight design decisions and teach interpreter implementation techniques. Pre: CS 321.

CS 451 Compiler Theory (3) Study of LL, LR, LALR grammars and compiler techniques suitable for programming languages for use in constructing scanners, parsers, code generators, code optimizers for a compiler. Use of compiler construction tools such as lex and yacc to develop a compiler for a block structured programming language. Pre: CS 321.

CS 460 Software Engineering I (3) Emphasizes planning, analysis, and design phases of the Software Development Life Cycle with one model of the SDLC covered. Goal is to learn tools and techniques for sound requirement assessment and, working as a team, produce a verified design of a real software product. Pre: CS 321, One Writing Intensive Course. (Attributes: ALEX, GCC)

CS 461 Software Engineering II (3) Emphasizes implementation, installation and maintenance phases of the SDLC covered in CS 460. Goals are to learn specific techniques and tools for product development testing, measurement and documentation. Team will complete product. Pre: C or better in CS 460. (Attributes: ALEX)

CS 470 Theory Of Computing (3) Study of various models of computation and their relation to formal languages: finite automata, push-down automata, Turing machines, regular, context-free, and recursively enumerable languages. Unsolvability, NP completeness. Pre: CS 321.

CS 475 Data Visualization (3) This team-taught course provides an interdisciplinary framework for learning cutting-edge data visualization techniques. Students are taught hands-on skills for creating effective data visualization products and tools that can be applied to a broad range of scientific disciplines.

CS 480 Digital Image Processing (3) This course provides introduces digital image processing fundamentals and the software principles used in their implementation. Topics include intensity transformations, spatial filtering, compression, geometric transforms, registration, wavelets, segmentation, and edge detection. This course reinforces theory through a hands-on programming approach. Prerequisite: CS 321

CS 485 Social Network Analysis (3) Covers the six degrees of separation, models of the small world, page rank, network effects, P2P networks, network evolution, spectral graph theory, virus/news propagation, core-periphery, link prediction, power-laws, scale free networks, network communities, hubs and authorities, bipartite cores, information cascades, influence maximization Pre: CS 151

CS 495 CS Professional Seminar (1) (other) Computer science and software engineering are careers demanding technological and ethical application of computer hardware, software, and human resources. Course emphasis is on entry into and growth in these careers showing the balancing of needs amongst technology, employee, employer, and society. Repeatable up to two times for a total of three credits. Pre: CS 321

CS x94 Special Topics in Subject Matter (Arr.) Special topics chosen by the instructor. Course content will vary. May be repeated for credit, provided that a different topic is studied. Additional requirements may apply depending on subject and topic.

CS x99 Directed Studies (Arr.) Statement of planned reading or research required. Pre: instructor’s consent.