• No se han encontrado resultados

Graduate Program Coordinator: Jyh-haw Yeh

Micron Engineering Center, Room 302B, Mail Stop 2055 Phone: (208) 426-3034

E-mail: [email protected]

General Information

Students who complete this program and who hold an Idaho State Teaching Certificate will be eligible to apply for the Idaho State Computer Science Teacher Endorsement. This Graduate Certificate is intended for students who want to develop professional skills and knowledge to successfully teach Computer Science in High School. The program will enable students to develop expertise to teach computer science courses in high school, including “Exploring Computer Science” and “AP Computer Science Principles.”

Application and Admission Requirements

Admission to the certificate program requires a baccalaureate degree from an accredited college or university and admission to the Graduate College (see Graduate Admission Regulations). In addition, the academic background of the applicant must be judged by the Graduate Program Coordinator to be adequate for enrollment in graduate courses designed for this certificate. However, meeting

these minimum requirements does not guarantee admission to the certificate program.

The applicant must also submit a letter of interest to the Graduate Program Coordinator briefly summarizing his or her background and motivation for enrolling in the certificate program. Once the applicant’s file is complete, it will be reviewed by the Graduate Program Coordinator who will provide an admission recommendation to the Dean of the Graduate College. The Dean will make the final admission decision and notify the applicant.

Special Relationships with Other Programs

A student may be simultaneously enrolled in the Master of Science in STEM Education and the Graduate Certificate, Computer Science Teacher Endorsement program subject to the approval of the graduate program coordinators of both programs. Please note that admission to the certificate program does not guarantee admission to the degree program and vice versa. Simultaneous enrollment in more than two graduate certificate programs is prohibited by the Graduate College. Credits earned in this certificate program may be counted towards the Master of Science in STEM Education.

Certificate Requirements

Graduate Certificate in Computer Science Teacher Endorsement

Course Number and Title Credits

CS 501 AP Computer Science Principles 3 CS 503 Teaching and Learning Computer Science I 5 CS 505 Teaching and Learning Computer Science II 4 CS 518 Inclusive Strategies for Teaching Computer Science

to Women and Minorities 2 Choose two of the following

CS 321 Data Structures

CS 516 Introduction to Web Development CS 517 Mobile Application Development

6

Total 20

Course Offerings

See Course Numbering and Terminology for definitions. CS — Computer Science

CS 501 AP COMPUTER SCIENCE PRINCIPLES (3-0-3)(F/S). Introduction to fundamental concepts of computing. Includes logical reasoning, problem solving, data representation, abstraction, programming (in Processing language), debugging, and managing complexity. Basic ideas behind technologies including computers, networks, search engines, and multimedia. Ethical, legal and social aspects of information technology. PREREQ: Admission to Master of Science in STEM Education.

CS 503 TEACHING AND LEARNING COMPUTER SCIENCE I (4-3-5)(F/S). Problem solving and object-oriented programming. Software development process. Data and expressions, conditionals and loops, arrays and lists, and classes and interfaces. Introduction to graphical user interfaces and UML diagrams. Approaches and techniques to teach CS I material in grades 6-12. PREREQ: Admission to Master of Science in STEM Education.

CS 505 TEACHING AND LEARNING COMPUTER SCIENCE II (4-0-4)(F/S). Program correctness, testing and analysis of time and space complexity. Graphical user interfaces. Object-oriented programming and design, including hierarchy and inheritance. Basic data structures: lists, collections, stacks and queues. Basic searching and sorting. Approaches and techniques to teach CS II material in grades 6-12. PREREQ: Admission to Master of Science in STEM Education and CS 503.

CS 510 DATABASES (3-0-3)(S). Foundations of database management systems. Database models: relational, object and other models. Database

Eng

ineering

College of Engineering

Department of Computer Science

design: entity relationship modeling, logical relational schema design, physical design, functional dependencies and normalization, and database tuning. Database application development using database interfaces embedded in host languages. PREREQ: CS 321 or regular admission to the program. CS 512 ADVANCED TOPICS IN DATABASES (3-0-3)(F/S). Parallel and distributed database system architectures, distributed database design, client/ server database systems. Selected topics from new developments in: extended relational databases, multimedia databases, information retrieval systems, object-oriented databases, temporal databases. PREREQ: CS 410 or CS 510 or regular admission to the program.

CS 515 TEACHING AND LEARNING DATA STRUCTURES (4-0-4)(F/S). Further data structures: trees, priority queues, dictionaries, balanced search trees, B-Trees, heaps, hash tables, and graphs. Sorting, searching and order statistics. Approaches and techniques to teach data structures in grades 6-12. PREREQ: Admission to Master of Science in STEM Education and CS 505. CS 516 INTRODUCTION TO WEB DEVELOPMENT (3-0-3)(F/S). An introduction to the technologies used for client-side and server-side web development. Learn fundamentals behind competing web technologies, best practices for design and usability, and build rich, dynamic, n-tier secure web applications. Tools used are mainly open source such as PHP, Javascript, XML, HTML, CSS, MySQL, and the Apache web server. PREREQ: Admission to the Master of Science in STEM Education or Graduate Certificate in Computer Science Teacher Endorsement program, and CS 505.

CS 517 MOBILE APPLICATION DEVELOPMENT (3-0-3)(F/S). A project- intensive course on mobile development using either iOS or Android as a platform. Overview of mobile platforms and their characteristics, mobile interface design and best practices using such technologies as GPS, camera, persistence, notifications and others. Platform will be announced before the beginning of each semester. PREREQ: Admission to the Master of Science in STEM Education or Graduate Certificate in Computer Science Teacher Endorsement program, and CS 505.

CS 518 INCLUSIVE STRATEGIES FOR TEACHING COMPUTER SCIENCE TO WOMEN AND MINORITIES (2-0-2)(S). Readings and discussions of methodologies and teaching CS to women and minorities in group settings. (Pass/Fail.) PREREQ: Admission to Master of Science in STEM Education. CS 521 DESIGN AND ANALYSIS OF ALGORITHMS (3-0-3)(F,S). Asymptotic analysis, recurrences, and amortized analysis. Divide-and-conquer, dynamic programming, greedy algorithms, and graph algorithms. Primality and other number-theoretic algorithms. Tractability and NP-Completeness. PREREQ: CS 321 or Regular Admission to the program.

CS 525 COMPUTER NETWORKS (3-0-3)(F/S). OSI reference model. Performance analysis of protocols—mathematical modeling and simulation. Quality of Service, flow control, and scheduling. MAC and routing in wireless networks. PREREQ: CS 425, and MATH 361 or MATH 360, or regular admission to the program.

CS 530 PARALLEL COMPUTING (3-0-3)(F)(Even Years). Models of parallel computation. Fundamental design patterns used in parallel algorithms: embarrassingly parallel, partitioning, divide and conquer, software pipelining, synchronous computations and load balancing. Implementation of parallel programs using MPI, GPUs and Map-Reduce on parallel clusters. PREREQ: CS 253 and CS 321, or regular admission to the program.

CS 531 ADVANCED PROGRAMMING LANGUAGES (3-0-3)(F/S). Advanced topics in programming-language theory, design, and implementation. Topics include: data types; binding, scope, and extent; abstraction, extensibility, and control mechanisms; formal semantics and program verification. Emphasis on alternative programming-language paradigms. PREREQ: CS 354 or regular admission to the program.

CS 534 DATA SCIENCE AND ANALYTICS (3-0-3)(F)(Odd Years). Foundations of data-intensive computing. Models and systems for storing, processing and analyzing large datasets. Data mining and machine learning techniques for modeling large datasets and streaming data. Review of recent research in the field. Application development for analyzing large datasets. Equal emphasis on developing theoretical and practical skills in the field. PREREQ: CS 410 or CS 430 or CS 510 or CS 530 or regular admission to the program.

CS 541 (ECE 532) COMPUTER ARCHITECTURE (3-0-3)(S). Structure of computer systems using processors, memories, input/output (I/O) devices as building blocks. Computer system instruction set design and implementation, including memory hierarchies, microprogramming, pipelining and

multiprocessors. Issues and tradeoffs involved in the design of computer system architectures with respect to the design of instruction sets. Applications of hardware description languages (HDL) in the design of computer systems. May be taken for CS or ECE credit, but not both. PREREQ for CS 541: CS 117 or CS 121, and ECE 330; or regular admission to the program. PREREQ for ECE 532: CS 121 and ECE 330.

CS 542 QUANTITATIVE COMPUTER ARCHITECTURE (3-0-3)(S). Quantitative analysis on computer architectures and software optimizations with static and dynamic simulation techniques. Design implications of memory latency and bandwidth limitations. Performance enhancement via within-processor and between-processor parallelism. In particular, the study of pipelining, instruction-level parallelism, memory hierarchy design, storage systems, and multiprocessors are emphasized. PREREQ: CS 441 or regular admission to the program.

CS 546 COMPUTER SECURITY (3-0-3)(F/S). Computer and network security. Public-key and private-key cryptography, authentication, digital signatures, key exchange, key management, certification authorities, and distributed trust models. File system security, Mail system security, and Web security. Intruders, Trojan Horses, and viruses. Covert channels. Projects will involve using currently available security tools. PREREQ: CS 453 or regular admission to the program.

CS 550 PROGRAMMING LANGUAGE TRANSLATION (3-0-3)(S)(Odd Years). Theory and practice of formal language translation, experience with compiler construction tools under UNIX. Students work on significant projects. PREREQ: CS 253 and CS 321 and CS 354, or regular admission to the program.

CS 551 ADVANCED TOPICS IN COMPILATION (3-0-3)(F/S). Code generation, analysis, and optimization. Projects will use a simple framework for

performing analysis and optimizations at the assembly level. PREREQ: CS 450 or CS 550.

CS 552 OPERATING SYSTEMS (3-0-3)(F). Process management, concurrency, interprocess communication, synchronization, scheduling, memory management, file systems and security. Case studies of multiple operating systems. PREREQ: CS 230 and CS 253 and CS 321 and ECE 330, or regular admission to the program.

CS 554 ADVANCED OPERATING SYSTEMS (3-0-3)(S). In-depth exploration of the various components of an actual operating system. Includes modifying operating system code to observe behavior, adding new functionality, understanding how various parts work as well as other experiments. Special emphasis on soft and hard real-time operating systems. PREREQ: CS 453 or CS 552, or regular admission to the program.

CS 555 DISTRIBUTED SYSTEMS (3-0-3)(S)(Even Years). Principles and paradigms of distributed systems. Communication, processes, naming, synchronization, consistency and replication, fault tolerance and security. In-depth coverage of Remote Procedure Call (RPC), Remote Method Invocation (RMI) and socket programming. Survey of major distributed systems. Several software projects. PREREQ: CS 253 and CS 321 or regular admission to the program.

CS 557 ARTIFICIAL INTELLIGENCE (3-0-3)(F/S). Course will include a survey of some of the following topics, plus a project: Principles of knowledge-based search techniques; automatic deduction; knowledge representation using predicate logic, semantic networks, connectionist networks, frames, rules; applications in problem solving, expert systems, game playing, vision, natural language understanding, learning, robotics; LISP programming. PREREQ: CS 321 and CS 354, or regular admission to the program.

CS 561 INTRODUCTION TO THE THEORY OF COMPUTATION (3-0-3)(S). Grammars, automata, Turing machines, decidability and complexity, language hierarchies, normal forms, NP-completeness, and reducibilities. Applications will be drawn from various areas of computer science. PRE/COREQ: CS 321 or regular admission to the program.

Eng

ineering

College of Engineering