University of Hawaii at Hilo Catalog 2013–2014

Computer Science (CS) Courses

College of Arts and Sciences

Home » Undergraduate Education » College of Arts and Sciences (CAS) » Computer Science » Computer Science (CS) Courses

Computer Science (CS)

College of Arts and Sciences

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 110  Visual Basic Programming (3) An introduction to window-based programming using Visual Basic. Topics covered include the Visual Basic environment, user-interface design, data types, scope, control structures, data structures, graphics, and software engineering.

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 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. (GenEd/IntReq: 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 104 or MATH 104F and MATH 104G.

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. Co-req: MATH 104 or MATH 205.

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. Offered in Fall Semester only.

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  Computer Competency Business (3) Create business 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 business data. Format work professionally.

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 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. Co-requisite: CS 321.

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) (lec., 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  Information Assurance (3) An overview of the field of information assurance and computer security. Covers confidentiality, integrity, and availability that arise in different areas of computer technology, as well as legal, ethical, and managerial aspects of security. Pre: CS 321.

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, ENG 287. (GenEd/IntReq: 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.

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 482  Computer Graphics (3) Principles for the design, use, and understanding of graphics systems. Both hardware and software components are examined. Pre: MATH 311 and CS 321.

CS 485  Social Network Analysis (3) Covers the six degrees of separation, models of the small world, PageRank, 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) 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. Co-req: CS 461.

CS x94 Special Topics in Subject Matter (Arr.) (IO) 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.) (IO) Statement of planned reading or research required. Pre: instructor’s consent.

Undergraduate Courses