2018-19 Undergraduate Academic Catalog

CS-3310 Operating Systems –Fa, Sp 3 hours A state-of-the-art survey of operating system principles. Covers fundamental technology and contemporary design issues such as threads, real-time systems, multiprocessor scheduling, distributed systems, and security. Course content is developed through lectures, student research of the relevant literature, presentations, and programming projects using both C++ and Java. Prerequisite: CS-1220 Object-Oriented Design Using C++. (Fee: $50) CS-3320 Linux Systems Programming –Fa 3 hours A study of the Linux operating system with special emphasis given to developing low-level programming skills in C and assembly language for the purpose of understanding Linux’s separation of user- and kernel-space features, system code, and how to develop kernel modules. In addition to the emphasis on low-level programming, students will study various system administration skills, scripting languages, administration and programming tools, and gain a better understanding of capabilities and limitations of the Linux operating systems (O/S). Students will also learn general information on how the Linux O/S is constructed, including its common organization into subsystems and programmer interfaces. Finally, students will practice administering user capabilities, the file system, access controls, kernel capabilities, and other system services (e.g., firewall, printing and networking) by configuring their own Linux distribution. Prerequisites: CS-2210 Data Structures Using Java; CS-3310 Operating Systems. (Fee: $50) CS-3350 Foundations of Computer Security –Sp 3 hours Introduction to computer security, including basic concepts, security policy, access control, authentication and key control, and cryptography. Students will complete several programming assignments. Prerequisites: CS-1220 Object-Oriented Design Using C++. (Fee: $50). CS-3410 Algorithms –Fa 3 hours Introduction to classical algorithms that have broad application in solving computer science problems; topics include analysis of algorithms, advanced data structures, graph algorithms, numerical methods, and NP-completeness. Prerequisite: CS-2210 Data Structures Using Java; MATH-2520 Discrete Math and Probability Principles for Computer Science (Fee: $50) CS-3510 Compiler Theory and Practice –Sp 3 hours Introduction to the foundational technology of modern compilers, with emphasis on underlying theory and practical techniques for implementing a compiler by applying object- oriented and appropriate data structures. Design project typically developing a compiler is required. Prerequisite: CS-3410 Algorithms. (Fee: $50) CS-3610 Database Organization and Design –Sp 3 hours Introduction to the analysis, design, and implementation of relational databases and the Structured Query Language (SQL); topics include data modeling techniques, data model to logical schema conversion techniques, relational algebra, SQL, database file organizations, query evaluation, transaction management, and client-server application architectures. Design project required. Prerequisites: CS-2210 Data Structures Using Java. Corequisite: MATH-2520 Discrete Math and Probability Principles for Computer Science. (Fee: $50) CS-3920 Computer Science Internship –Fa, Sp 1–3 hours An opportunity for a computer science student to work closely with an industrial advisor. Specific attention is given to solving a particular problem(s) in the industry or firm. A faculty advisor assists in supervising and approving the internship, including assessing the number of credit hours. A final report (approximately seven pages per credit hour) describing the experience, including the problem and solution, is required. Must be arranged with a faculty sponsor and work supervisor before starting. No more than one hour of CS-3920 can be used to fulfill program technical elective requirements. Prerequisites: junior or senior computer science major status; faculty advisor permission. CS-3950 Topics in Computer Science –Fa, Sp, Su 1–3 hours Selected topics in computer science at the 3000-level that will complement or extend existing 2000- and 3000-level courses or expose students to topics not taught in other courses. Topics may be proposed by the computer science faculty or students. Prerequisite: permission of instructor. CS-3980 1–3 hours Independent Study in Computer Science –Fa, Sp, Su Opportunity to perform independent study or research in computer science and allied fields of application. A formal proposal for study must be approved by the faculty advisor before registering for this course. Prerequisites: junior or senior computer science or engineering major status, and permission of instructor. CS-3220 Web Applications –Sp 3 hours Introduction to the design and implementation of web-based applications. Technologies such as HTML5, CSS3, Javascript, JQuery, PHP, Java Servlets, XML, and MySQL are explored. Multiple design projects required. Prerequisite: CS-2210 Data Structures Using Java. (Fee: $50) CS-4310 Cyber Operations –Sp 3 hours This course covers cyber operations and the best practices for securing a technology infrastructure. Topics covered include offensive cyber operations, cyber-related legal precedents and regulations, wired and wireless network security, intrusion detection and prevention systems, system hardening, and defense in-depth. This is a hands-on course with a heavy emphasis on virtual machine-based lab exercises. Prerequisites: CS-3350 Foundations of Computer Security; EGCP-4310 Computer networks (Fee: $50) CS-4330 SoftWare Security –Fa 3 hours A detailed look at issues involved in providing secure software systems. Students will study principles and practices of software development that result in software that is robust and secure from attack. Students will learn techniques for analyzing software to determine whether it contains weaknesses that are vulnerable to exploitation. Students will also explore reverse engineering of software to understand the design of an existing software component to determine its security and whether it could contain malware. Prerequisites: CS-3320 Linux Systems Programming; CS-3350 Foundations of Computer Security. (Fee: $50) CS-4410 Parallel Computing –Fa 3 hours Introduction to the exploitation of parallelism to solve computational intensive problems; emphasis is placed on both the message passing (using MPI) and the shared memory paradigms; projects are required using both paradigms. Crosslisted as CS and EGCP. Prerequisites: CS-3310 Operating Systems. Corequisite: CS-3410 Algorithms; permission of instructor. (Fee: $50) (even years) CS-4710 Computer Graphics –Fa 3 hours Introduction to three-dimensional computer graphics and computer game content creation and programming. Topics include geometric modeling and common game engine capabilities; techniques for enhancing realism such as local lighting effects, texture, transparency, and physical modeling; and common computations in the rendering pipeline such as model transformations, clipping and culling, shading, rasterization and collision detection. Group design project required. Prerequisite: MATH-2520 Discrete Math and Probability Principles for Computer Science. Corequisite: CS-3410 Algorithms. (odd years) (Fee: $50) CS-4810 Software Engineering I –Fa 3 hours The capstone design experience for computer science majors. Introduction to software engineering principles focusing on requirement development, detailed design, project scheduling and management, quality assurance, and testing. Student teams meet regularly to develop a project management plan, a requirements document and a detailed design and begin to implement their project that will be completed in CS-4820. Prerequisite: CS-3220 Web Applications; CS-3610 Database Organization and Design; CS-3410 Algorithms. (Fee: $50) CS-4820 Software Engineering II –Sp 4 hours Continuation of CS-4810 Software Engineering I. Student teams will complete the implementation, testing, and release of their capstone project, submit regular progress reports, prepare a final report, and make a formal project presentation. Prerequisite: CS- 4810 Software Engineering. (Fee: $50) CS-4950 Advanced Topics in Computer Science 1–3 hours Selected topics in computer science at the 4000-level that expand the depth of existing 3000- and 4000-level courses or that expose the students to advanced concepts not taught in other courses. Prerequisite: permission of instructor. CS-4980 Independent Study in Computer Science 1–3 hours Opportunity to perform independent study or research in computer science and allied fields of application. A formal proposal for study must be approved by the faculty advisor before registering for this course. Prerequisites: junior or senior computer science or engineering major status, permission of instructor. Civil Engineering (EGCE) EGCE-1920 Introduction to Civil Engineering –Sp 2 hours Introduction to the civil engineering profession. Course will cover the breadth of the civil profession and include a survey of major civil engineering sub-disciplines. Professional practice topics including career paths, ethics, professional engagement, teamwork, communication, design processes, and legal aspects of civil engineering practice will be introduced. The integrated lab will provide introduction to civil engineering drawing and will include a class project to introduce concepts of project-based engineering. Prerequisite: EGGN-1110 The Engineering Profession. (Fee:$100) EGCE-2320 Principles of Surveying –Sp 2 hours Surveying is an essential element in civil engineering planning, design, construction, and monitoring processes. Lectures will introduce the skills, knowledge, and roles of surveyors, and will seek to develop understanding of basic surveying principles and basic interpretation of graphical data. Laboratory exercises will enable students to apply presented materials in a physical context, developing basic skill in performing survey work. Prerequisite: EGCE-1920 Intro to Civil Engineering. (Fee:$100) EGCE-2410 Civil Engineering Materials –Fa 3 hours Properties of concrete, wood, iron, and steel; tensile and compressive loading; toughness, creep, and fatigue phenomena will be discussed in order to explain possible modes of failure when materials are placed into service. Corequisites: EGCE- 2411 Civil Engineering Materials Lab; EGME-2530 Statics and Mechanics of Materials. EGCE-2411 Civil Engineering Materials Lab –Fa 1 hour Laboratory concentrated on the behavior of steel, concrete, wood, polymers, and composites as they apply to civil engineering structures. Emphasis will be placed on characterization of materials to internationally recognized standards. Weekly lectures will develop knowledge developed in EGCE-2410 to improve understanding of the focus materials and their behavior in a civil engineering context. Texting techniques and quality control will also be introduced in lectures and developed in laboratory exercises. Corequisite: EGCE-2410 Civil Engineering Materials. (Fee:$100) EGCE-3110 Geotechnical Engineering –Sp 4 hours Characteristics and classification of geological materials; physical, mechanical, and hydraulic properties of soil and rock; issues such as seepage, consolidation, stress distribution, and settlement will all undergo analyses. Integrated laboratory work in soil classification and soil mechanics. Prerequisites: EGCE-2410 Civil Engineering Materials; EGME-2530 Statics and Mechanics of Materials. (Fee:$100) EGCE-3210 Introduction to Hydraulic Engineering –Fa 3 hours Collection and distribution of water; flow of fluids through orifices and weirs; laminar and turbulent flows in closed conduits and open channels; model analysis using the principles of dimensional analysis; rainfall and runoff. Prerequisites: EGME- 2530 Statics and Mechanics of Materials; MATH-2710 Calculus III; PHYS-2110 General Physics. EGCE-3220 Design of Water Distribution Systems –Sp 4 hours Extension of fundamental hydraulics theory into design practice for commonly encountered problems in civil engineering hydraulic systems and structures. Basic concepts of hydraulics, including unsteady pipelines, open channel flows, loose boundary hydraulics, and coastal hydraulics are reviewed, extended, and applied to a variety of practical systems. Prerequisite: EGCE-3210 Intro to Hydraulic Engineering. (Fee:$100) EGCE-3410 Construction Engineering –Fa 3 hours This course focuses on construction engineering issues associated with the implementation of designed civil systems. The aim is to provide the student with an understanding of the range of construction equipment and techniques in common use, as well as the planning and direction of construction works. Addresses projects of various scales, focusing on common factors such as utilization of workers, machines and materials, and requirements for project organization and control. The material covers both construction techniques, construction management, and project documentation. Prerequisite: EGCE-2320 Principles of Surveying EGCE-3510 Structural Analysis –Fa 3 hours Structural analysis of statically determinate and indeterminate systems; deflections, energy methods, and force method; column stability. Prerequisite: EGME-2530 Statics and Mechanics of Materials. EGCE-3520 Design of Steel Structures –Sp 4 hours Introduction to structual design practice in steel. Topics include estimating structural loads, design of individual members, and structural connection design. Course focuses on design practice in accordance with nationally recognized codes for both structural steel design and load estimation. Includes integrated lab component covering structural detailing and use of computer- based design software. Course includes major class project. Prerequisite: EGCE-3510 Structural Analysis. (Fee:$100) EGCE-3610 Environmental Engineering –Fa 4 hours Emphasizes chemical, ecological, and hydrological fundamentals in order to solve environmental engineering problems related to water quality, air pollution, solid and hazardous waste management, sustainability, and risk management. Experiments in water, soil, and air quality and chemistry will be performed. Prerequisites: CHEM-1050 Chemistry for Engineers; MATH-3110 Probability and Statistics I (Fee:$100) Page 250 2018–19 Undergraduate Academic Catalog 2018–19 Undergraduate Academic Catalog Page 251 Course Descriptions Course Descriptions CS-3310 – CS-4410 CS-4710 – EGCE-3610 ENGINEERING AND COMPUTER SCIENCE ENGINEERING AND COMPUTER SCIENCE

RkJQdWJsaXNoZXIy MTM4ODY=