-
CS 101 Introduction to Computer Science
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_101
Current Catalog Description: May be used as core credit in J-3-c. Survey of computer science and topics of importance to computer scientists; includes topics such as the nature of problems, un-solvability, hardware, human factors, security, social, ethical, and legal issues; exposure to practical aspects of computer networks. Three lectures and one recitation per week. Recommended Preparation: two yrs of high school algebra.
-
CS 105 Computer Science as a Profession
Total Credits: 2 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_105
Current Catalog Description: Introduction to the computer science profession and curriculum; fields of study available; current topics in departmental research; curriculum planning; legal, ethical, and social issues in computing; academic ethics and responsibilities.
-
CS 112 Introduction to Problem Solving and Programming
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_112
Current Catalog Description: May be used as core credit in J-3-c. Intro to fundamental problem solving techniques using the computer; use of a programming language, structured programming concepts; use of fundamental data types, including arrays and structures; basic concepts of computer organization, editing, and program execution; programming lab in which the student solves problems. Prereq: Math 108 or sufficiently high ACT, SAT, or Math Placement Test score to qualify for Math 143.
-
CS 120 Computer Science I
Total Credits: 4 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_120
Current Catalog Description: Fundamental programming constructs, algorithms, and problem solving, fundamental data structures, overview of programming languages, virtual machines, introduction to language translation, declarations and types, abstraction mechanisms, object-oriented programming. Three lectures and one 2-hr lab a week. Prereq: Math 108 or sufficiently high ACT, SAT, or Math Placement Test score to qualify for Math 143.
-
CS 121 Computer Science II
Total Credits: 4 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_121
Current Catalog Description: Introduction to abstract data types and fundamental data structures: linked list, stacks, queues, trees, and graphs. Methods for implementing and algorithms for manipulation of these structures. Dynamics memory methods, sequential file processing, additional searching and sorting algorithms that result from using these data types, recursion, object-oriented programming. Three sessions a week; and one 2-hour lab a week. Prereq: CS 120. Coreq: Math 176.
-
CS 127 Programming Language
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_127
Current Catalog Description: Introduction to computer programming in a selected language. Prereq: Permission.
-
CS 130 Programming with Visual Basic
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_130
Current Catalog Description: Introduction to fundamental problem solving techniques using the computer and the object oriented, event driven language Visual Basic. The course introduces structured programming concepts; the use of fundamental data types, including arrays and database structures; and eidting and program execution.
-
CS 150 Computer Organization and Architecture
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_150
Current Catalog Description: Digital logic and digital systems, machine-level representation of data, assembly-level machine organization, memory system organization and architecture, interfacing and communication, functional organization, multiprocessing and alternative architectures.
Eligibility for 200-level Courses
Computer science courses offered at the 200-level presume the student has mastered the material covered in the 100-level courses required of CS majors.
Students majoring in computer science must earn a grade of C or better, with a 2.50 GPA or higher, in CS 120, 121, and 150 and a C or better in Math 176 before registration is permitted in 200-level CS courses.
Students majoring in computer engineering must earn a grade of B or better in CS 120, 121, 150, and a C or better in Math 176 for graduation and before registration is permitted in 200-level CS courses.
-
CS 210 Programming Languages
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_210
Current Catalog Description: Major features of good programming languages, with primary emphasis on language features and their role in writing food software; programming language design alternative; various types of languages, including procedure, data-flow, functional and object-orientated languages. Prereq: CS 121
-
CS 240 Computer Operating Systems
Total Credits: 3 cr
Course Coordinator: Axel Krings
URL: http://wiki.cs.uidaho.edu/index.php/CS_240
Current Catalog Description: Overview of operating systems principles, concurrency, scheduling and dispatch, memory management, introduction to net-centric computing, communication and networking, OS security. Prereq: CS 121 and 150. Coreq: CS 270.
-
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_270
Current Catalog Description: Productivity tools such as make. Debugging tools. Linking and loading. Shell programming and scripting languages. Process management and inter-process communication. Concurrent programming using threads. Exception handling. Prereq: CS121 and CS150.
Eligibility for Upper Division Courses
Most upper-division computer science courses presume the student has mastered the material covered in the 100-level and 200-level courses required of CS majors .
Students majoring in computer science must earn a grade of C or better in CS 210, 240, 270, and Math 170 and 175 before registration is permitted in upper-division CS courses.
Students majoring in computer engineering must earn a grade of C or better in CS 210, 240, 270, and Math 170, 175, 176 for graduation and before registration is permitted in upper-division CS courses.
-
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_324
Current Catalog Description: Use of the computer to define, store, manipulate, and display 2-D and 3-D objects; 2-D curve fitting and 3-D surface development. Prereq: CS 213 or CS 121, and Math 330.
-
CS 336 Introduction to Information Assurance
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_336
Current Catalog Description: Introduces the confidentiality, availability and integrity goals of information systems; resistance, recognition and response categories of assurance. Focus on computer security and survivability, including cryptography, network security, general purpose operating system security and dependability, and special purpose systems for high assurance security and dependability. Prereq: CS 240.
-
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_360
Current Catalog Description: Study of database design and implementation; comparison of basic models (entity- relationship, hierarchical, network, relational); study of query languages; discussion of issues of integrity, security, dependencies, and normal forms. Prereq: CS 240 and CS 270.
-
CS 383 Software Engineering I
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_383
Current Catalog Description: Current topics in development of software systems; software life cycle model, requirements definition, design, verification and validation, and project management techniques. Prereq: CS 270 or perm.
-
CS 384 Software Engineering II
Course Coordinator: Clinton Jeffery
URL: http://wiki.cs.uidaho.edu/index.php/CS_384
Current Catalog Description: Continuation of CS 383, Individual projects are developed. Prereq: CS 383.
-
CS 385 Theory of Computation
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_385
Current Catalog Description: See Math 385. Mathematical models of computation, including finite automata and Turing machines. Prereq: perm.
-
CS 386 Derivational Programming
Total Credits: 3 cr
Course Coordinator: Jim Alves-Foss
URL: http://wiki.cs.uidaho.edu/index.php/CS_386
Current Catalog Description: Introduction of a practical approach based on methodically developing programs from their specifications; focus on developing reliable programs with attention to real issues.
-
CS 395 Analysis of Algorithms
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_395
Current Catalog Description: Same as Math 395. Measures of efficiency; standard methods and examples in the design and analysis of algorithms. Prereq: Math 175
-
CS 398 Computer Science Cooperative Internship
Total Credits: 1-3 cr (Max 3)
URL: http://wiki.cs.uidaho.edu/index.php/CS_398
Current Catalog Description: Supervised internship in professional computer science settings, integrating academic study with work experience; requires formal plan of activities before co-op assignment and final written report evaluated by on-campus faculty members. Graded P/F. Prereq: perm.
-
CS 401/501 Contemporary Issues in CS
Total Credits: 1 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_401
Current Catalog Description: Ethical, legal, and intellectual property issues; current research topics; and other issues of importance to the professional computer scientist. Graded P/F.
-
CS 404 and 504 Special Topics Courses
-
CS 411/511 Parallel Programming
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_411/511
Catalog Description: Analysis, mapping, and the application of parallel programming software to high-performance systems; the principles of spatial- and temporal-locality of data memory hierarchies in performance tuning; architectural considerations in the design and implementation of a parallel program; the tradeoff between threaded (shared memory) and message-passing (distributed memory) programming styles and performance. Additional projects/assignments required for graduate credit.
-
CS 412/512 Parallel Algorithms
Total credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_412/512
Catalog description: Parallel algorithm design; formal analysis of parallel algorithmic complexity; measures of parallel efficiency; relationship between algorithmic structure and parallel mapping strategies; the consequences of spatial- and temporal-locality. Additional projects/assignments required for graduate credit.
-
CS 415 Computational Biology Sequence Analysis
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_415/515
Current Catalog Description: Design and analyze algorithms that address the computational problems posed by biological sequence data, such as DNA or protein sequences. Topics may include: comparing sequences (from genes to genomes), database searching, multiple sequence alignment, phylogenetic inferencing, gene discovery and annotation, and genome assembly.
-
CS 420 Data Communication Systems
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_420/520
Current Catalog Description: Concepts and terminology of data communications, equipment, protocols (including ISO/OSI and TCP/IP), architectures; transmission alternatives, regulatory issues and network management. Prereq: CS 150 and CS 240.
-
CS 424 Advanced Computer Graphics
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_424/524
Current Catalog Description: Graphical user interfaces; rendering for realism including shading, shadows and textures; fractals; raster displays, pixmaps, and antialiasing; 3D curves and surfaces; color theory; hidden surfaces; ray tracing; games. Additional work required for graduate credit..
-
CS 428 Games and Virtual Environments
Total Credits: 3 cr
Course Coordinator: Clinton Jeffery
URL: http://wiki.cs.uidaho.edu/index.php/CS_428
Current Catalog Description: Software design and programming issues involved in constructing computer games and multi-user virtual environments.
-
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_438/538
Current Catalog Description: WSU Cpt S 425. Practical topics in network security; policy and mechanism, malicious code; intrusion detection, prevention, response; cryptographic techniques for privacy and integrity; emphasis on tradeoffs between risk of misuse, cost of prevention, and societal issues; concepts implemented in programming assignments.
-
CS 439 Applied Security Concepts
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_439/539
Current Catalog Description: Hands-on approach to computer security with emphasis on developing practical knowledge of how cyber attacks work and how to defend against them. Detailed exploration of attacks such as buffer overruns, string attacks, worms, trojan horses, and denial-of-service attacks, and development of defenses against them. Additional work reqd for grad cr. Recommended preparation: Good knowledge of C, operating system concepts and Unix. Prereq: CS 336 or Permission.
-
CS 441 Advanced Operating Systems
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_441/541
Current Catalog Description: Principles of contemporary operating systems for network and distributed computer systems; sequential processes, scheduling, process synchronization, device management, file systems, memory management and protection and security.
-
CS 445 Compiler and Translator Design
Total Credits: 4 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_445
Current Catalog Description: Algorithms used by the following system software: assemblers, macro-processors, interpreters, and compilers; compiler design options and code optimization; all concepts implemented in major programming assignments. Prereq: CS 210 and CS 385.
-
CS 447 Computer and Network Forensics
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_447/547
Current Catalog Description: Competence in using established forensic methods in the handling of electronic evidence; rigorous audit/logging and date archival practices; prevention, detection, apprehension, and prosecution of security violators and cyber criminals.
-
CS 448 Survivable Systems and Networks
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_448/548
Current Catalog Description: Computers and networks under malicious threat or attack. Attributes of survivability, trustworthiness, dependability and assurance. Threats to survivability, security, reliability and performance. Models and analytical methods to assess survivability, vulnerability, interdependence and risk. Systemic inadequacies and approaches for overcoming deficiencies. Literature review and case studies. Additional project/assignments required for graduate credit. Recommended Preparation: CS J449/J549 or CS J423.
-
CS 449/549 Fault-Tolerant Systems
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_449/549
Current Catalog Description: Design, modeling, analysis and integration of hardware and software to achieve dependable computing systems employing on-line fault tolerance; theory and fundamental concepts of designing reliable systems; analytical evaluation techniques, faults and advances in ultra-reliable distributed systems, fault-tolerant software systems; case studies include the space Shuttle, Airbus, and Boeing fly-by-wire primary flight computers as well as systems in reliable data bases and financial markets.
-
CS 451 Advanced Computer Architecture
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_451/551
Current Catalog Description: Principles and alternatives in instruction set design; processor implementation techniques, pipelining, parallel processors, memory hierarchy, and input/output; measurement of performance and cost/performance trade-off.
-
CS 452/552 Real-time Operating Systems
Total credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_452/552
Catalog description: Topics of interest in the implementation of Real-Time Operating Systems, especially as applicable to embedded systems, including a relevant hardware review, interrupts and interrupt handling, real-time scheduling principles and implementation, latency, task management, shared data and synchronization, timers, message passing, tradeoffs between memory space and speed. Students will build a simple but relatively complete real-time operating system over the course of the semester. Additional projects and assignments are required for graduate credit.
-
CS 470/570 Artificial Intelligence
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_470/570
Current Catalog Description: Concepts and techniques involved in artificial intelligence. Lisp, goal-directed searching, history trees, inductive and deductive reasoning, natural language processing, and learning.
-
CS 472/572 Evolutionary Computation
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_472/572
Current Catalog Description: Solving computation problems by "growing" solutions; simulates natural evolution using analogies of mutation, crossover, and other genetic transformations on representations of potential solutions; standard EC techniques such as genetic algorithms and evolutionary programming, mathematical explanation of why they work, and a survey of some applications; the focus is on solving real-world problems using projects.
-
CS 481 Senior Capstone Design
Total Credits: 4 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_481
Current Catalog Description: Application of formal design techniques to development of a large computer science project performed by students working in teams. Significant lab work reqd. Prereq: CS 384 or 480.
Eligibility for Graduate Courses
Graduate courses are available to students with graduate standing and to seniors who have been authorized by the College of Graduate Studies.
-
CS 500 Master's Research and Thesis
-
CS 507 Fundamentals of Research
-
CS 513 Concurrent Systems
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_513
Catalog Description: Issues of parallel computer architecture considering a hardware/software approach; topics include convergence of parallel architectures, fundamental design issues, parallel programs, programming for performance, workload-driven evaluation, shared memory multiprocessors, snoopy-based multiprocessor design, scalable multiprocessors, cache coherence, hardware software tradeoffs, interconnection network design, latency tolerance, and future directions of concurrent systems.
-
CS 536 Advanced Information Assurance Concepts
Total Credits: 3 cr
Course Coordinator: James Alves-Foss
URL: http://wiki.cs.uidaho.edu/index.php/CS_536
Catalog Description: Cryptographic systems, coding and decoding of messages; network, database, and operating system security issues, capability and access-control mechanisms; current trends and research in mandatory and discretionary security policies. Additional projects/assignments reqd for grad cr. Prereq: CS 336
-
CS 576 Data Mining Techniques
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_576
Catalog Description: This course will focus on the development of relevant tools, methods, and design of Knowledge from Data (KDD) Systems. Further, it will concentrate on the design and implementation of an advanced data mining system with expectations of optimal performance and flexibility.
-
CS 578 Neural Network Design
Total Credits: 3 cr
URL: http://wiki.cs.uidaho.edu/index.php/CS_578
Current Catalog Description: Same as CS578 & ME 578 & Neuroscience. Introduction to neural networks and problems that can be solved by their application; introduction of basic neural network architectures; learning rules are developed for training these architectures to perform useful functions; various training techniques employing the learning rules discussed and applied; neural networks used to solve pattern recognition and control system problems. Prereq: perm. Graduate standing or instructor permission.
-
-
CS 600 Doctoral Research and Dissertation