OCR Text |
Show 100 College of Applied Science & Technology on the complexity of the advanced, upper division work performed. Prerequisite: CS 2420. May be repeated 3 times up to 4 credit hours. Note: Only 4 credit hours of CS 4800 or CS 4850 or CS 4890 can apply to a CS degree as an elective course, and only a maximum of 6 hours of CS 4800, CS 4850 and CS 4890 may be taken to satisfy missing credits or to achieve full time academic status. CS 4890 - Cooperative Work Experience Credits: (1-4) Typically taught: Fall [Full Sem] Spring [Full Sem] Summer [Full Sem] The purpose of this course is to permit Computer Science majors who are currently working in a computer related job or internship to receive academic credit for their work, with coordination and approval of a faculty mentor and their supervisor. The amount of upper division credit awarded will be determined by the department, depending on the nature and quantity of work performed. Prerequisite: CS 2420. May be repeated 3 times up to 4 credit hours. Note: Only 4 credit hours of CS 4800 or CS 4850 or CS 4890 can apply to a CS degree as an elective course, and only a maximum of 6 hours of CS 4800, CS 4850, and CS 4890 may be taken to satisfy missing credits or to achieve full time academic status CS 4899 - Bachelor's Degree Assessment Credits: (o) This course is to serve as an assessment tool whereby all BS/BA degree seeking students in the Computer Science Department demonstrate their learned knowledge in at least three areas of computer science. At present, this knowledge will be demonstrated through the use of Chi Tester exams administered through the Campus Testing Center. The course is taken during the last term prior to receiving the BS/BA degree. Prereq/Coreq: Successful completion of requirements for the Bachelor's Degree. CS 4920 - Short Courses, Workshops, Institutes and Special Projects Credits: (1-4) Consult the semester class schedule for the current offering under this number. The specific title and credit authorized will appear on the student transcript. May be repeated 3 times up to 4 credit hours. CS 6100 - Distributed Operating Systems Credits: (3) Distributed systems or distributed computing deals with the issues encountered while running programs across a computer network. This course will cover key topics including: models of distributed systems, timing, synchronization, coordination and agreement, fault tolerance, naming, security, and middleware. Students will learn both the theoretical background of distributed systems as well as work on hands-on projects developing distributed systems applications. Prerequisite: CS 3100. CS 6420 - Advanced Algorithms Credits: (3) Introduction to fundamental principles of advanced algorthm design, including asymptotic analysis; divide-and-conquer algorithms and recurrences; greedy algorithms; practical data structures (heaps, hash tables, search trees, graphs); dynamic programming; graph algorithms; and randomized algorithms. Prerequisite: CS 2420. CS 6500 - Artificial Intelligence and Neural Networks Credits: (4) This course covers basic artificial intelligence principles and introduces students to AI languages. Concepts of programming parallel architecture machines are introduced and developed. The neural network design of parallel computing is studied, along with its implications in Artificial Intelligence software development. Prerequisite: CS 2420 and either MATH 1630 or CS 2130. CS 6600 - Machine Learning Credits: (3) Introduction to fundamental principles and practical techniques of machine learning and its applications, including parametric and non-parametric algorithms, support vector machines, kernels, neural networks, clustering algorithms, dimensionality reduction, recommender systems, and deep learning. Prerequisite: CS 2420. CS 6610 - Computer Architecture Credits: (3) Investigation of high-performance computer processing architectures, including concurrent, multicore platforms; memory hierarchy; static and dynamic scheduling; instruction-level parallelism, including branch prediction; graphics processing units; cache performance and analysis. Prerequisite: CS 2810. CS 6820 - Compiler Design Credits: (4) A study of compilers, grammars, finite-state and push down automata, scanning, parsing, error handling, semantic analysis and code generation. Prerequisite: CS 2420, CS 4110. CS 6840 - Formal System Design Credits: (3) Methods for developing high-quality hardware/software systems that are delivered on time, within budget, and according to requirements. Techniques for specifing programs and reasoning about them, including formal logical proofs, correct code synthesis, model checking, type theory specifications, and properly evaluating concurrent programs. Prerequisite: CS 2420. CS 6850 - Parallel Programming and Architecture Credits: (3) In parallel programming you will learn how to utilize multiple CPU's/Cores/Nodes in parallel to increase the performance of your applications. Different architectures will be discussed along with the advantages and disadvantages of each. This course will cover key topics parallel programming including: memory models, parallel programming architectures, Flynn's Taxonomy, synchronization, and performance analysis and tuning. In addition to learning the theoretical background of parallel programming, you will work on hands-on projects using multiple parallel programming languages and libraries including (CUDA, openMP, MPI, open CL, and python). Prerequisite: CS 3100. Weber State University 2015-2016 Catalog |