Computer Science
Department Overview
Computer science is the study of software development, information handling and their application to the world's problems. Computing is widely used in support of science, engineering, business, law, medicine, education and the social sciences, and offers abundant employment opportunities.
The B.A., B.S. and M.S. degrees follow the recommendations of the Association for Computing Machinery and the Institute for Electrical and Electronic Engineers. The Computing Accreditation Commission of ABET accredits the B.S. degree.
B.A., B.S., Computer Science
Computer science is the study of software development, information handling, and their application to the problems of the world. Computing is widely used in support of science, engineering, business, law, medicine, education and the social sciences, and offers abundant employment opportunities.
The B.A., B.S. and M.S. degrees follow the recommendations of the Association for Computing Machinery and the Institute for Electrical and Electronic Engineers. The B.S. degree is accredited by the Computing Accreditation Commission of ABET.
The computer science undergraduate program introduces the fundamentals of computer programming, hardware and theory. It emphasizes the application of general principles to real-world problems. The B.S. degrees provide students deep mathematical abilities to analyze of the meaning and efficiency of programs; while the B.A. is designed to provide students a broader background in uses of the technology. Combining solid fundamentals with modern technology enables graduates to not only make full use of today’s computers, but to help build the future.
Minimum Requirements for Computer Sciences Degrees: B.A.: 120 credits; B.S.: 120 credits
Learn more about the bachelor’s degree in computer science, including an overview of the program, career opportunities and more.
Accelerated B.S./M.S., Computer Science
Computer science is the study of information handling and its application to the problems of the world. Computing is widely used in support of science, engineering, business, law, medicine, education and the social sciences, and offers abundant employment opportunities.
The B.S. and M.S. degrees follow the recommendations of the Association for Computing Machinery and the Institute for Electrical and Electronic Engineers. The B.S. degree is accredited by the Computing Accreditation Commission of ABET.
The computer science undergraduate program introduces the fundamentals of computer programming, hardware and theory. It emphasizes the application of general principles to real-world problems. Mathematics and engineering play critical roles in the core. A solid background in fundamentals enables graduates to understand the uses of today’s computers and to participate in future developments.
Minimum Requirements for Computer Science B.S./M.S. Degrees: 141 credits
Learn more about the bachelor’s/master's degree in computer science, including an overview of the program, career opportunities and more.
M.S., Computer Science
The M.S. program provides breadth and depth in coursework and culminates with a major unifying project. This program is available to students who have completed a B.S. degree in computer science at most institutions. Students from other universities who have completed a substantial portion of a bachelor’s level computer science program may be admitted to the M.S. program. In such cases, undergraduate courses may be required to remedy deficiencies.
For admission to the M.S. computer science program, the GRE general and computer science subject exams are required.
Minimum Requirements for Computer Science Master's Degree: 30 credits
Learn more about the master's degree in computer science.
Programs
Degrees
B.A., Computer Science
B.S., Computer Science- Accelerated B.S./M.S., Computer Science
- M.S., Computer Science
Minor
Courses
Computer Science (CS)
CS F103 Introduction to Computer Programming
3 Credits
Offered Fall and Spring
Computer programming for students without the background for CS F201. Concepts of object-oriented programming and algorithm design using the Python programming language.
Prerequisites: Math placement at the 100-level.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F180 Introduction to Programming and Algorithmic Thinking
1 Credit
Offered As Demand Warrants
Introduction to fundamental concepts across different programming languages including: variables, looping, conditional statements, flow, maintainable code, searching and sorting algorithms. This course is designed as an advance layer over the materials and activities associated with the T3 Alliance grant funded program (T3.alliance.org).
Lecture + Lab + Other: 1 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F201 Computer Science I
3 Credits
Offered Fall and Spring
The discipline of computer science including problem solving, algorithm development, good programming style, control flow, I/O and elementary data structures. Concepts implemented with extensive programming experience in C++, and a group programming project.
Prerequisites: Mathematics placement at the F100-level.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F202 Computer Science II
3 Credits
Offered Fall and Spring
The discipline of computer science including classes, object-oriented programming, operators, RAII, inheritance, exceptions and generic programming with templates. Concepts implemented with extensive programming experience in C++ and a group programming project.
Prerequisites: CS F201.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F241 Computer Hardware Concepts
4 Credits
Offered Spring
A programmer-centric approach to electrical circuits and microcontroller interfacing, with applications to smart devices and robotics. Covers bit-level arithmetic and logic, microcontrollers, battery-powered systems, sensor and actuator interfacing, and interdevice communication. These technologies form the foundation for smart vehicles, devices and buildings.
Prerequisites: CS F201, ES F201.
Corequisites: CS F241L.
Lecture + Lab + Other: 3 + 3 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F241L Computer Hardware Concepts Lab
0 Credit
Offered Spring
Laboratory section for CS F241 Computer Hardware Concepts. Activities may include simulated and physical electronic circuits, microcontroller programming, digital and analog circuits.
Corequisites: CS F241.
Lecture + Lab + Other: 0 + 0 + 0
Grading System: Non-Graded
CS F254 Unmanned Aircraft Systems (UAS) Design
3 Credits
Offered As Demand Warrants
A multidisciplinary team of students will design, build, test and deliver an unmanned aircraft system (UAS) in support of university research mission requirements. Students will learn basic concepts related to the systems engineering design process. Graded events include team briefings, written reports, multimedia products and a finished UAS product.
Prerequisites: AERO F254; ME F254.
Cross-listed with AERO F256, ME F256.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F258 Unmanned Aircraft Systems (UAS) Operations
3 Credits
Offered As Demand Warrants
Covers the use of unmanned aircraft systems (UAS), sensors, and support infrastructure required to conduct a selected mission set. Emphasis is on mission analysis, planning, and conduct, including definition of requirements/constraints, identification of appropriate assets, flight planning considerations, and data analysis requirements. Teams coordinate resources for mission and report results.
Cross-listed with AERO F258; GEOS F258; and ME F258.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F301 Assembly Language Programming
3 Credits
Offered Fall
The low level structure of a modern computer: hardware instruction set architecture, registers, the call stack, pointers, the heap and threads. Applications include performance and security.
Prerequisites: CS F202; CS F241, CSCE A241 or EE F243 (may be taken concurrently).
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F311 Data Structures and Algorithms
3 Credits
Offered Fall
Data structures and the algorithms for their manipulation. Algorithmic efficiency and asymptotic notation. Algorithms for searching and sorting. Abstract data types and container data structures: arrays, linked lists, stacks, queues, trees, tables, heaps, balanced search trees, hash tables.
Prerequisites: CS F202.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F321 Operating Systems
3 Credits
Offered Spring
The software stack in a modern computer: thread, process, container, kernel, hypervisor and network. Enforcing access control and securing communication between these layers, and designing services to use them effectively.
Prerequisites: CS F301.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F331 Programming Languages
3 Credits
Offered Spring
Syntax and semantics of widely differing programming languages. Syntax specification, lexical analysis, parsing and interpretation. Comparison of diverse languages such as Python, Haskell, Forth and Prolog.
Prerequisites: CS F311.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F371 Computer Ethics and Technical Communication
3 Credits
Offered Fall
This course explores the social, legal and ethical issues aggravated, transformed or created by computer technology. Additional focus is on technical communication skills needed in the computer industry.
Prerequisites: COM F121X, COM F131X or COM F141X; CS F202; WRTG F211X, WRTG F212X, WRTG F213X or WRTG F214X.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F372 Software Construction
3 Credits
Offered Spring
Methods for programming and construction of complete computer applications, including refractoring, performance measurement, process documentation, unit testing, version control, integrated development environments, debugging and debuggers, interpreting requirements, and design patterns.
Prerequisites: CS F311.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F392 Seminar
1-6 Credits
Lecture + Lab + Other: 0 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
Repeatable for Credit: May be taken unlimited times for up to 6 credits
CS F405 Introduction to Artificial Intelligence
3 Credits
Offered Spring
Examine diverse branches of Al placing Al in the context of computer science. Knowledge representation formalism and search technology. Programming methodologies; procedural systems such as expert systems and blackboard systems and non-procedural systems such as neural networks.
Prerequisites: CS F311.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F411 Analysis of Algorithms
3 Credits
Offered Fall
Analysis of classic algorithms, their implementation and efficiency. Topics from combinatorics (sets, graphs), algebra (integer arithmetic, primes, polynomial arithmetic, GCD, Diophantine equations, encryption), systems (parsing searching, sorting) and theory (recursion, Turing machines). The complexity classes P, NP and NP complete.
Prerequisites: MATH F307, CS F311.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F425 Database Systems
3 Credits
Offered Fall
Data independence, modeling, relationships and organization. Hierarchical, network and relational data models; canonical schema. Data description languages, SQL, query facilities, functional dependencies, normalization, data integrity and reliability. Review of current database software packages.
Prerequisites: CS F311; CS F321.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F441 System Architecture
3 Credits
Offered Spring
Computer design fundamentals, performance and cost, pipelining, instruction-level parallelism, memory hierarchy design, storage systems, and parallel processing.
Prerequisites: CS F321; CS F241 or EE F243.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F453 Robotics & 3D Printing
3 Credits
Offered As Demand Warrants
Covers self-driving cars, 3D printers, and computer-controlled machine tools as modern applications of a common software core of path planning and motion control. Includes mathematical background in 3D computational geometry, hands-on applications such as designing and fabricating resilient robot parts, and online algorithms for robot driving.
Prerequisites: MATH F253X; CS F311 or equivalent experience programming complex applications in a modern language like C++ or Python.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F463 Cryptography and Data Security
3 Credits
Offered As Demand Warrants
Specialized study of cryptography and its application in securing data systems, with an emphasis on applied cryptography. Topics include history of cryptography, encryption, digital signatures, authentication, electronic commerce, key distribution and management, private and public key cryptography, and protocols.
Prerequisites: MATH F307; CS F311.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F465 Computer and Network Security
3 Credits
Offered As Demand Warrants
Analyzes computer software, hardware and network vulnerabilities. Mechanisms to detect and defend against attacks, including authentication, access control and cryptography. Includes code vulnerabilities like buffer overflow, web issues like command injection, network protocol design and storage security. Legal and ethical issues concerning privacy, intellectual property and computer crime.
Prerequisites: CS F202, CS F301 (may be taken concurrently).
Stacked with CS F665.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F471 Senior Capstone I
3 Credits
Offered Fall
Introduction to software engineering and project management principles, techniques, methods and standards for software system development. Additional topics include technical communication, computer ethics and legal issues.
Prerequisites: CS major; senior standing; CS F311; CS F371.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F472 Senior Capstone II
3 Credits
Offered Spring
Group projects in a real computer industry environment and produce appropriate documentation and reports. Nature, ethics and legal considerations of the computer science profession are discussed with an emphasis on ethics. Additional topics include project management, design methodologies, technical presentation, human-machine interface and programming team interactions.
Prerequisites: CS F372; CS F471.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F480 Topics in Computer Science
3 Credits
Offered As Demand Warrants
Topics include, but are not limited to; computational linear algebra, cryptography, parallel algorithm development and analysis.
Special Notes: Course may be repeated when topics change.
Lecture + Lab + Other: 0 + 3 + 0
Grading System: Letter Grades with option of Plus/Minus
Repeatable for Credit: May be taken 15 times for up to 45 credits
CS F484 Computer Graphics Fundamentals
3 Credits
Offered Fall
Creation of computer-generated images using 3D graphics hardware. Mathematics and data structures in 3D graphics. Sprites, Tiles, Typography, and Vector Graphics in 2D graphics. Color, lighting, textures, hidden surface removal. Loading and saving scene graphs; Using physically based and nonphotorealistic shading. Software design principles to create interactive applications.
Prerequisites: CS F202; MATH F253X.
Stacked with CS F684.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F485 Computer Graphics Rendering
3 Credits
Offered As Demand Warrants
Designing graphics engines for realtime rendering of computer generated imagery; physically based approaches to shading and shadows; artistic approaches to shading and nonphotorealistic rendering; algorithms for rendering an image including ray tracing, deferred rendering, and global illumination; image space algorithms for simulation of camera effects.
Prerequisites: CS F202; MATH F253X.
Stacked with CS F685.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F486 Computer Graphics Animation and Simulation
3 Credits
Offered As Demand Warrants
Creation of computer graphics animation and simulation of physically based phenomena; designing simulation systems for computer graphics applications; physically based phenomena using particle systems, fluid simulation, and rigid body dynamics; key frame animation, bones, and rigging; and other related topics.
Prerequisites: CS F202; MATH F253X; PHYS F212X.
Stacked with CS F686.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F600 Professional Software Development
4 Credits
Offered Fall
Participate in a group project to explore the technical, social and ethical aspects of software development. Topics include: requirements engineering, enterprise-level data storage, software architecture, security, software testing, legal issues, computer ethics, risk management and project management.
Prerequisites: CS F472.
Lecture + Lab + Other: 4 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F601 Algorithms, Architecture and Languages
4 Credits
Offered Spring
Current research on, and cross-cutting interrelationships between computer algorithms, machine architecture and languages. Covers asymptotic performance analysis including NP-completeness, modern parallel hardware including multicore, and grammars and parsing from regular expressions to BNF.
Prerequisites: CS F331; CS F411; CS F441 or EE F443.
Lecture + Lab + Other: 4 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F605 Artificial Intelligence
3 Credits
Offered Spring
Study and writing of AI programs: expert systems, expert system shells, blackboard systems, neural networks. Representation of knowledge, pattern analysis, inference networks, neural network training. Study of software engineering aspects of AI software.
Prerequisites: Graduate standing or permission of CS graduate advisor.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F658 Unmanned Aircraft Systems (UAS) Operations
3 Credits
Offered Spring
Covers application of unmanned aircraft systems (UAS) to satisfy scientific research or public service missions. Students analyze mission requirements and recommend appropriate UAS vehicles, subsystems, sensors and data analysis tools to accomplish a specified mission. Students design mission profiles, conduct representative missions, produce required data products and present mission results.
Prerequisites: Graduate standing.
Cross-listed with AERO F658; EE F658.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F660 Rocket Systems Design
3 Credits
Offered As Demand Warrants
A multidisciplinary team of students will perform the design, construction and flights of a simple rocket system. Design considerations will include requirements for project management, rocket vehicle design, performance, thrust, stability, recovery system, telemetry and payload data.
Prerequisites: Graduate standing in engineering or physics.
Cross-listed with AERO F660; EE F660; ME F660.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F665 Computer and Network Security
3 Credits
Offered As Demand Warrants
Analyzes computer software, hardware and network vulnerabilities. Mechanisms to detect and defend against attacks, including authentication, access control and cryptography. Includes code vulnerabilities like buffer overflow, web issues like command injection, network protocol design and storage security. Legal and ethical issues concerning privacy, intellectual property and computer crime.
Stacked with CS F465.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F680 Topics in Computer Science
1-4 Credits
Offered As Demand Warrants
Example topics include, but are not limited to, software requirements engineering, cryptography, parallel algorithm development and analysis. May be repeated for credit with change of topic.
Prerequisites: Varies with each topic.
Recommended: Varies with each topic.
Lecture + Lab + Other: 1-4 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
Repeatable for Credit: May be taken 15 times for up to 45 credits
CS F681 Topics in Computer Graphics
3 Credits
Offered Fall
Hardware, software and techniques used in computer graphics taken from topics such as refresh, storage, raster scan technology, volume rendering, particle systems, shading, image processing, computer aided design, video effects, animation and virtual environments.
Prerequisites: CS F202 and MATH F253X.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
Repeatable for Credit: May be taken 3 times for up to 12 credits
CS F684 Computer Graphics Fundamentals
3 Credits
Offered Fall
Creation of computer-generated images using 3D graphics hardware. Mathematics and data structures in 3D graphics. Sprites, Tiles, Typography, and Vector Graphics in 2D graphics. Color, lighting, textures, hidden surface removal. Loading and saving scene graphs; Using physically based and nonphotorealistic shading. Software design principles to create interactive applications.
Prerequisites: CS F202; MATH F253X.
Stacked with CS F484.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F685 Computer Graphics Rendering
3 Credits
Offered As Demand Warrants
Designing graphics engines for realtime rendering of computer generated imagery; physically based approaches to shading and shadows; artistic approaches to shading and nonphotorealistic rendering; algorithms for rendering an image including ray tracing, deferred rendering, and global illumination; image space algorithms for simulation of camera effects.
Prerequisites: CS F202; MATH F253X.
Stacked with CS F485.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F686 Computer Graphics Animation and Simulation
3 Credits
Offered As Demand Warrants
Creation of computer graphics animation and simulation of physically based phenomena; designing simulation systems for computer graphics applications; physically based phenomena using particle systems, fluid simulation, and rigid body dynamics; key frame animation, bones, and rigging; and other related topics.
Prerequisites: CS F202 and PHYS F212X.
Stacked with CS F486.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
CS F690 Graduate Seminar and Project
3 Credits
Offered Fall
First semester of two-semester seminar in which students will work on and present the results of major programming or literature survey projects in computer science. Written and oral reports will be required.
Prerequisites: 12 credits in graduate computer science courses; or permission of Computer Science graduate advisor.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Pass/Fail Grades
CS F691 Graduate Seminar and Project
3 Credits
Offered Spring
Second semester of a two-semester seminar in which students will work on and present the results of major programming or literature survey projects in computer science. Written and oral reports will be required.
Prerequisites: CS F690; 12 credits in graduate computer science courses; or permission of Computer Science advisor.
Lecture + Lab + Other: 3 + 0 + 0
Grading System: Pass/Fail Grades
CS F692 Seminar
1-6 Credits
Lecture + Lab + Other: 1-6 + 0 + 0
Grading System: Letter Grades with option of Plus/Minus
Repeatable for Credit: May be taken unlimited times for up to 6 credits
CS F698 Non-thesis Research/Project
1-9 Credits
Lecture + Lab + Other: 0 + 0 + 0
Grading System: Pass/Fail Grades
Repeatable for Credit: May be taken unlimited times for up to 99 credits
CS F699 Thesis
1-9 Credits
Lecture + Lab + Other: 0 + 0 + 0
Grading System: Pass/Fail Grades
Repeatable for Credit: May be taken unlimited times for up to 99 credits
Faculty
Glenn Chappell
Associate Professor
Computer ScienceGraph theory, combinatorics, computer graphics
ggchappell@alaska.edu
907-474-5736
Duck 539
Troth Yeddha' Campus
Arghya Das
Assistant Professor
Computer ScienceBig data management and analytics, distributed data-intensive computing, blockchain and decentralized technologies, innovation in data education
akdas@alaska.edu
Duck 521
Troth Yeddha' Campus
Jon Genetti
Department Chair | Associate Professor
Computer ScienceComputer forensics, computer graphics, volume visualization, parallel & distributed computing
jdgenetti@alaska.edu
907-474-5737
Duck 541
Troth Yeddha' Campus
Orion Lawlor
Associate Professor
Computer ScienceComputer graphics, parallel programming, robotics, 3D printing
oslawlor@alaska.edu
Duck 529
Troth Yeddha' Campus
Lane Schwartz
Associate Professor
Computer Scienceloschwartz@alaska.edu
Duck 530
Troth Yeddha' Campus