OCR Text |
Show Course Descriptions 415 CS 3830 - Writing Secure Code (4) This course focuses on how to develop software systems that are robust and can withstand repeated attacks from malicious intruders. The course coverage includes the need for secure systems, basic security principles and strategies, designing secure applications, secure coding techniques, dangerous APIs, data input issues, network security problems, testing secure applications, security code reviews, secure software installation, and writing security documentation. Prerequisite: CS 2420. CS 3840 - Computer Forensics for Security Assurance (4) This course is a foundational course in file system analysis, digital forensics and computer media analysis. A combination of lectures and labs will give students a strong understanding of low-level file system knowledge to prepare them for involvement in digital forensic analysis, data recovery and other related tasks. Students will examine widely used file systems such as Windows NTFS and FAT32, UFS, EXT2 and UFS2. Students will also become familiar with software tools used in computer forensic work. Prerequisite: CS 2420 and CS 3040. CS 4110 - Concepts of Formal Languages and Algorithms for Computing (4) F, Sp Concepts of formal language definition, automata theory, Turing theory, and solvability, with an introduction of algorithms and computational methods used in advanced computer science courses. Prerequisite: CS 2420 and either MATH 1630 or CS 3130. CS 4230 - Java Application Development (4) Sp This course is a continuation of CS 3230 and examines the development of Java applications intended for an enterprise environment. The course is programming intensive and concentrates on designing and implementing multi-tier and Web applications based on the Java Enterprise Edition (Java EE) specification. Topics include JavaBeans, Java Database Connectivity, client/server interactions, servlets, session tracking, JavaServer Pages, JavaServer Faces, Struts, the Mo del-View-Controller approach, remote method invocation, Enterprise JavaBeans, and application servers. Lab exercises will emphasize how Java Enterprise programming supports the operation of robust, distributed object architectures. Prerequisite: CS 3230. CS 4280 - Computer Graphics (4) Sp This course introduces and investigates the mathematical and programming basis for generating pictures and images using a computer. Fields impacted by visual rendering technologies include filmmaking, publishing, banking, engineering, and education. Students are introduced to the theory and practice of computer graphics, with an emphasis on designing and developing working applications using currently available graphics libraries. The course focuses on strategies for rendering geometric data (points, lines, and polygons), and the analysis of the processing stages and components of the graphics pipeline, including transformations, viewing volumes, and projections. Programming and mathematical techniques related to modeling, viewing, coordinate frames, and perspective will be primary topics for discussion and code development. The course covers the key processing steps and structures needed to appropriately map 3D geometric primitives to 2D screen positions while maintaining a realistic look, which involves hidden surface removal, proper lighting, and simulated material properties. Prerequisite: CS 2420. CS 4350 - Advanced Internet Programming (4) F, Sp This course builds on the knowledge of CS 2350 to go deeper into the areas of eBusiness, multimedia, HTML, DHTML, XML, Javascript, Java, ASP, PHP, Python, Perl, Flash, and other technologies focusing on the server-side coding and database manipulation required for enterprise level web applications. It requires a high level of programming skill and knowledge of databases. Prerequisite: CS 2350, CS 2550. CS 4500 - Artificial Intelligence and Neural Networks (4) F, Sp 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 3130. CS 4640 - Game Development I (4) This course introduces students to 2D game development using a programming language, scripting, and a gaming engine. The work includes team work project, graphical programming, GUI, and all other aspects of creating a game program associated with a game design document. Prerequisite: CS 3610. Pre/Co-requisites: PHYS 2010 or PHYS 2210, MATH 1210. CS 4650 - Game Development II (4) Senior project Game Development II course focuses on 3D game programming in a team work project environment using a game engine. At conclusion student should be able to add the resulting program into their game portfolio. Prerequisite: CS 4640. Pre/Co-requisites: MATH 2270 or MATH 2250, CS 4280, CS 4500, CS 4750. CS 4730 - Applied Cryptography (4) Sp This course provides an introduction to the principles of number theory and how they are applied to cryptographic algorithms. Different topics that will be examined are: several classic ciphers, modern cryptographic methods, symmetric encryption, public key cryptography, hash functions, key management, digital signatures, certificates, electronic mail security, steganography, and recent developments affecting security and privacy on the Internet. The focus will be on how cryptography and their application can maintain privacy and security in computer networks. Prerequisite: CS 2420 and either MATH 1630 or CS 3130. CS 4740 - Security Vulnerabilities and Attack Prevention (4) Sp A treatment of security issues related to computers and computer networking. This course is designed for advanced users, system administrators and network administrators. The course covers TCP/IP security issues, security policies, packet filtering, Internet firewall architecture and theory, detecting and monitoring unauthorized activity, password authentication, intrusion detection and prevention and other security issues involving Linux, UNIX and Microsoft Windows operating systems. A team project is included. Prerequisite: MATH 1040 or MATH 1220 or MATH 3410, ENGL 3100 or NTM 3250, CS 3100 and CS 3705. CS 4750 - Advanced Software Engineering (4) Sp Each team member will contribute to the full implementation, configuration, and testing phases of a prototyped project designed in CS 3750. Software project management, documentation, and configuration management will continue to be emphasized throughout the semester. The software project, final documentation, and training session(s) will be delivered to the client before the students have completed the course. Prerequisite: CS 3750. Weber State University 2012-2013 Catalog |