Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Computer Science and Engineering Program at ABET Accredited University, Study notes of Compiler Design

The Computer Science and Engineering program offered by an ABET accredited university. The program offers a core set of foundation courses and coursework in concentrations such as web programming, system administration, game development, and graphics programming. The program also offers a Minor in Computer Science and a Certificate Program in Computer Systems and Programming. The document also explains the various topics covered in computer science and computer engineering, including computer design, programming, information processing, data communication, machine intelligence, and robotics. The Bachelor of Science in Computer Science and the Bachelor of Science in Computer Engineering programs are both accredited by ABET/CAC. The document also lists the faculty members of the department.

Typology: Study notes

2021/2022

Uploaded on 05/11/2023

astarloa
astarloa 🇺🇸

4.2

(12)

58 documents

1 / 10

Toggle sidebar

Related documents


Partial preview of the text

Download Computer Science and Engineering Program at ABET Accredited University and more Study notes Compiler Design in PDF only on Docsity! School of Computer Science and Engineering 1 School of Computer Science and Engineering Accredited by ABET (B.S. in Computer Science, BS in Computer Engineering) Jack Brown Hall, Room 307 (909) 537-5326 Computer Science and Engineering website Computer science is a discipline with historical foundations in science, mathematics and engineering. It is concerned with the study of a variety of topics including computer design, computer programming, information processing, data communication, machine intelligence, robotics, the algorithmic solution of problems, and the various representations of information including numeric, alphabetic, visual, audio and sensory. This discipline deals with effective ways to represent and display information, algorithms to process information, languages in which to express algorithms, hardware systems to interpret such languages, theoretical techniques for insuring the accuracy and cost effectiveness of these processes and the philosophical foundations of computing and machine intelligence. The Bachelor of Science in Computer Science degree program is accredited by ABET/CAC. The program emphasizes the fundamentals of computer science and the skills required to apply computer science to application areas, as well as professional ethics. The objective of the program is to prepare the student upon graduation for: immediate entry into a programming, software engineering, systems and network administration or similar position in either the public or private sectors; or for graduate education in computer science or a closely related discipline leading to a master or doctoral degree. The Bachelor of Science in Computer Engineering is accredited by ABET/ EAC. Computer engineering is a discipline with historical foundations in computer science and electrical engineering. It is concerned with the study of a variety of topics including circuit design, programmable logic, computer design, computer programming, software engineering, data communication, machine intelligence, robotics, the algorithmic solutions of problems, and the various representations of information including numeric, alphabetic, visual, audio, and sensory. This discipline deals with effective ways to represent and manipulate information, algorithms to process information, hardware systems and technologies to run software, design methodologies for hardware and software systems, and engineering techniques for ensuring the accuracy and cost effectiveness of these processes. The Bachelor of Science in Bioinformatics provides students with a background and skills useful for research and development in the growing biotechnology industries. Bioinformatics is the interdisciplinary study of biology and biochemical systems using mathematics and computer science. It involves the use of computers and statistics to make sense out of large amounts of data that are accumulating from high- throughput biological and chemical experiments, such as sequencing of whole gnomes, DNA, microarray chips, two-hybrid experiments, and tandem mass spectrometry. The bioinformatics degree program is a collaboration between the School of Computer Science and Engineering, the Department of Biology and the Department of Chemistry and Biochemistry. The Bachelor of Arts in Computer Systems program emphasizes the application of principles to practical problem solving in a domain of interest. Students complete a core set of foundation courses and coursework in one of the following concentrations: web programming, system administration, game development, graphics programming. Students also have the ability to combine the study of computer systems with another field of study through the general interdisciplinary option. The Minor in Computer Science is designed to give students from all academic disciplines a foundation in computing which will enrich and support the student's own field of study. The Certificate Program in Computer Systems and Programming is a short course of study provided for those individuals who desire a career in the computer science field which does not require a formal degree. Departmental Honors 1. Demonstration of independent work by achieving a grade of "C" (2.0) or better in a three-unit CSE 5950 (https://bulletin.csusb.edu/search/? P=CSE%205950) Independent Study or credit in CSE 5750 (https:// bulletin.csusb.edu/search/?P=CSE%205750) Internship in Computer Science and Engineering; 2. Attainment of a minimum overall grade point average of 3.0 ("B") in all university courses attempted and a minimum grade point average of 3.5 in all Computer Science and Engineering (CSE) courses required by the major; 3. At least five upper-division major courses required by the major must be taken at this university. Emerita Josephine G. Mendoza, Professor B.S. 1974, M.Eng. 1977, University of the Philippines Ph.D. 1984, University of Illinois Current Faculty Khalil Dajani, Professor B.S. 1988, M.S 1991, University of Illinois Ph.D. 2000, University of Toledo George M. Georgiou, Professor B.S.E.E. 1985, Louisiana Tech University M.S.E.E 1987, M.S. 1988, Louisiana State University M.S. 1990, Ph.D. 1992, Tulane University Amir Ghasemkhani, Assistant Professor B.S. 2011, M.S. 2014, University of Tabriz, Iran, Ph.D. 2019, University of Nevada Reno Ernesto Gomez, Professor B.A. 1969, Cornell University M.S. 1975, Universidad de Puerto Rico Ph.D. 2005, University of Chicago Yunfei Hou, Associate Professor B.A. 2009, Xi'an Jiaotong University M.S. 2011, Saint Cloud State University Ph.D. 2016, University of Buffalo Jennifer Jin, Assistant Professor B.S. 2009 University of Dallas, M.S. 2011 University of California, Los Angeles, Ph.D. 2019 University of California, Irvine Yasha Karant, Professor B.A. 1975, Immaculate Heart/Cal Tech 2 School of Computer Science and Engineering M.S. 1978, Ph.D. 1981, University of California, Berkeley Fadi Muheidat, Assistant Professor B.A. 2000, Jordan University of Science and Technology M.S. 2015, University of Missouri, Columbia Ph D. 2017, University of Missouri, Columbia Haiyan Qiao, Professor B.S. 1993, M.S. 1996, Huanzhong University, China M.S. 2002, North Dakota State University Ph.D. 2007, University of Arizona Ronald Salloum, Assistant Professor B.S. 2010, California State Polytechnic University, Pomona Ph D. 2019, University of Southern California Qingquan Sun, Associate Professor B.S. 2006, XI'AN University of Technology M.S. 2012, University of Alabama Ph.D 2013, University of Alabama Kerstin Voigt, Professor, Director Vordiplom 1981, Johann-Wolfgang-Geothe University of Frankfurt, Germany M.S. 1984, Ph.D. 1994, Rutgers University Kay Zemoudeh, Professor B.S. 1981, M.S. 1984, University of Southwestern Louisiana Ph.D. 1990, University of South Carolina Yan Zhang, Assistant Professor B.E. 2000, Lanzhou Jiaotong University Ph.D. 2011, Biejing Jiaotong University Ph.D. 2018, University of Regina, Canada Emeriti Arturo I. Concepcion, Professor Owen J. Murphy, Professor B.A. 1979, Holy Cross M.S. 1982, Worcester Polytechnic Institute Ph.D. 1985, Syracuse University David A. Turner, Professor B.S. 1980, Wichita State University M.S. 1983, University of Massachusetts Ph.D. 2001, Institute Eurecom, Sophia Antipolis, France Tong L. Yu, Professor B.S. 1977, Chinese University of Hong Kong M.S.E. 1982, Ph.D. 1986, Johns Hopkins University Undergraduate Degrees Bachelor of Arts Computer Systems (http://bulletin.csusb.edu/colleges-schools- departments/natural-sciences/computer-science-engineering/ computer-systems-ba/) with concentrations in: • General Interdisciplinary • Game Development • System Administration Bachelor of Science Bioinformatics (http://bulletin.csusb.edu/colleges-schools- departments/natural-sciences/computer-science-engineering/ bioinformatics-bs/) Computer Engineering (http://bulletin.csusb.edu/colleges-schools- departments/natural-sciences/computer-science-engineering/ computer-engineering-bs/) Computer Science (http://bulletin.csusb.edu/colleges-schools- departments/natural-sciences/computer-science-engineering/ computer-science-bs/) Graduate Degree Master of Science Computer Science (http://bulletin.csusb.edu/colleges-schools- departments/natural-sciences/computer-science-engineering/ computer-science-ms/) Minor Computer Science (http://bulletin.csusb.edu/colleges-schools- departments/natural-sciences/computer-science-engineering/ computer-science-minor/) Certificates Computer Systems and Programming (http://bulletin.csusb.edu/ colleges-schools-departments/natural-sciences/computer-science- engineering/computer-systems-programming-certificate/) Mobile Application Development (http://bulletin.csusb.edu/ colleges-schools-departments/natural-sciences/computer-science- engineering/mobile-application-development-certificate/) Courses CSE 1100. Critical Thinking Through Computer Programming. Units: 3 Introduction to computational thinking and computer programming with the easy-to-learn Python programming language. Development of critical thinking and logical reasoning through problem solving with computer programming. An introductory programming course suitable for liberal arts and sciences students. Two hours lecture and two hours activity laboratory. Materials fee required. Satisfies GE Category A3. CSE 1110L. Data Analysis Laboratory Using Spreadsheets. Unit: 1 Introductory laboratory course to data analysis using spreadsheet software. Data Analysis is a fundamental methodology for studying physical and life sciences. Spreadsheets such as Microsoft Excel are widely used for data analysis in living and non-living systems. This course help students understand the core concepts of data analysis, learn to apply data analysis techniques, and become proficient in data analysis in the software environment. Suitable for anyone who seeks a working knowledge of data analysis, and for learners who want to consolidate their skills in spreadsheets. Satisfies GE Category B3. Materials fee required. School of Computer Science and Engineering 5 CSE 5010. Introduction to Theory of Computation. Units: 3 Semester Prerequisite: CSE 5000 or consent of instructor. Quarter Prerequisite: CSE 500 or consent of instructor Theoretical foundations of computer science: deterministic and non- deterministic Turing machines, models of computation; recursive functions, Church's thesis and undecidable problems; complexity classes P, NP, CO-NP and PSPACE. May not be taken for graduate credit. Formerly CSE 501. CSE 5100. Advanced Computer Architecture. Units: 3 Semester Prerequisite: CSE 4010. Quarter Prerequisite: CSE 401 High performance computer architectures and algorithms including pipeline, vector, array, multiprocessor computer designs, applications, and programming. Also covered are data flow and systolic machines, interconnection networks, and graph and parallel graph algorithms. May not be taken for graduate credit. Formerly CSE 510. CSE 5120. Introduction to Artificial Intelligence. Units: 3 Semester Prerequisite: CSE 2020. Quarter Prerequisite: CSE 330 Foundations of artificial intelligence, current techniques and methods, problems, limitations and future prospects of machine intelligence. Formerly CSE 512. CSE 5140. Computational Intelligence. Units: 3 Semester Prerequisite: Math 2210 and CSE 2020. Quarter Prerequisite: MATH 211 AND CSE 330 Recent developments in computational intelligence, a discipline which encompasses ideas from neural networks, fuzzy logic, evolutionary computation and in general from soft-computing areas. Solving real-world problems that are difficult to solve using traditional techniques. Includes optimization, pattern recognition, deep learning, decision making and prediction. Formerly CSE 514. CSE 5150. Automated Reasoning. Units: 3 Semester Prerequisite: CSE 4310. Quarter Prerequisite: CSE 431 Study of logical deduction algorithms and their limitations, propositional and predicate calculus, completeness and incompleteness theorems, Herbrand-G del computability, the resolution principle, equality and inequality relations. Automation of theorem proving techniques. Formerly CSE 515. Similar to PHIL #400 or PHIL 400. Students may not receive credit for this course and any of the above courses. CSE 5160. Machine Learning. Units: 3 Semester Prerequisite: CSE 2020 and Math 2220. Quarter Prerequisite: CSE 330 Theory and practice of machine learning: reinforced learning, supervised learning such as SVMs, data clustering, learning in multi-agent systems, applications in computer vision, and knowledge discovery in big data. Formerly CSE 516. CSE 5200. Advanced Computer Graphics. Units: 3 Semester Prerequisite: CSE 4200. Quarter Prerequisite: CSE 420 Advanced computer graphics concepts, theory and implementation techniques. Shading models and languages, parametric curves and surfaces, hidden edge and surface removal, and anti-aliasing. Formerly CSE 520. CSE 5208. Introduction to Computer Engineering Design. Units: 4 Semester Prerequisite: Senior Standing. Quarter Prerequisite: Consent of Instructor Introduction to the principles of engineering design. Requirements analysis, system specifications, project management and tools, human- computer interface, accessibility and inclusivity of products, engineering ethics, technical writing. Three hours lecture and three hours laboratory. Materials fee required. Formerly CSE 208 and CSE 308. Consent of instructor required. CSE 5210. Digital System Design. Units: 4 Semester Prerequisite: CSE 4010. Quarter Prerequisite: CSE 401 Digital system design with FPGA, control and datapath, architecture and synthesis, design constraints, I/O peripherals. Three hours lecture and three hours laboratory. Materials fee required. Formerly CSE 521. CSE 5250. Parallel Algorithms and Programming. Units: 3 Semester Prerequisite: CSE 4010. Quarter Prerequisite: CSE 401 Topics include algorithm design, analysis, and programming of high performance computers. Also covered are control-parallel versus data- parallel approaches, and selected parallel programming languages. Formerly CSE 525. CSE 5300. Data Communications. Units: 3 Semester Prerequisite: CSE 2020 and CSE 3350. Quarter Prerequisite: CSE 313 or 598, and CSE 330 Principles of analog and digital communications. Signal modulation principles and schemes, digitization and synchronization, channel coding, communication protocols and conventions, base-band signal representation and transmission. Formerly CSE 530. CSE 5350. Numerical Computation. Units: 3 Semester Prerequisite: CSE 2020 and MATH 2310. Quarter Prerequisite: MATH 331 Introduction to scientific computing. Algorithms related to approximations, zero findings, least squares, eigenvalue problems, numerical differentiation and integration, data fitting and interpolation, optimizations, nonlinear equations. Formerly CSE 535. CSE 5408. Sustainable Engineering Design. Units: 4 Semester Prerequisite: CSE 5208. Quarter Prerequisite: CSE 308 Guided engineering design project on an ongoing real-world problem. System architectural design and evaluation; concurrent hardware and software design; system integration, testing and validation; maintainability; sustainability; safety and fault tolerance; project documentation. Three hours lecture and three hours laboratory. Materials fee required. Formerly CSE 408. CSE 5410. Robotics and Control. Units: 4 Semester Prerequisite: CSE 3100 and Math 2310. Quarter Prerequisite: CSE 310 and CSE 313 Theory and practice of forward and reverse kinematics, PID control, robotic construction and programming. Three hours lecture and three hours laboratory. Materials fee required. Formerly CSE 541. 6 School of Computer Science and Engineering CSE 5500. Advanced Bioinformatics I: Sequence Analysis. Units: 3 Semester Prerequisite: Senior standing or consent of instructor. Quarter Prerequisite: CSE 431 and senior standing or consent of instructor The course covers how application of computational techniques can help in solving real life problems, related to biology and biochemistry including the efficient use multiple genomics and bioinformatics tools for the analysis of DNA, RNA, and protein sequences. Formerly CSE 550. CSE 5510. Advanced Bioinformatics II: Numerical Modeling. Units: 3 Semester Prerequisite: CSE 5350. Quarter Prerequisite: CSE 535 Numerical techniques for the modeling and simulation of biological and chemical systems using ordinary and partial differential equations, and stochastic variables. Formerly CSE 551. CSE 5700. Compilers. Units: 3 Semester Prerequisite: CSE 2020 and CSE 2130. Quarter Prerequisite: CSE 313 and CSE 330 Interpreter and compiler structures. Topics include symbol tables, lexical and syntactic analyzers, and object code generation. Formerly CSE 570. CSE 5720. Database Systems. Units: 3 Semester Prerequisite: CSE 2020. Quarter Prerequisite: CSE 330 Basic concepts of database design and theory, including underlying storage structures and alternative approaches to database models (relational, object-relational, network and hierarchical). Hands-on applications with one or more commercial database management systems. Formerly CSE 572. CSE 5750. Internship in Computer Science and Engineering. Units: 3 Semester Prerequisite: A minimum overall grade point average of 3, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the semester in which the course is to be taken. Quarter Prerequisite: A minimum overall grade point average of 3, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the quarter in which the course is to be taken Supervised work and study in private or public organizations. Graded credit/no credit. Formerly CSE 575. CSE 5800. Advanced Database Systems. Units: 3 Semester Prerequisite: CSE 5720. Quarter Prerequisite: CSE 572 Advanced study of components of general database systems and other topics such as implementation methods, query language design, reliability, integrity, performance measures, distributed database systems and database machines. Formerly CSE 580. CSE 5940. Topics in Computer Science and Engineering. Units: 3 Semester Prerequisite: CSE 2020 or consent of instructor. Quarter Prerequisite: CSE 330 or consent of instructor An in-depth consideration of selected areas of computer science and engineering. May be repeated for credit as topics change, credit may not be received twice for the same topic. Formerly CSE 594. CSE 5951. Independent Study. Unit: 1 Semester Prerequisite: A minimum overall grade point average of 3, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the semester in which the course is to be taken. Quarter Prerequisite: A minimum overall grade point average of 3 Laboratory and/or library research conducted under the direction of a faculty member. May be repeated three times. A total of three units of Independent Study may be applied toward the computer science, computer systems, computer engineering, and bioinformatics majors. Consent of the school required. Formerly CSE 595A. CSE 5952. Independent Study. Units: 2 Semester Prerequisite: A minimum overall grade point average of 3, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the semester in which the course is to be taken. Quarter Prerequisite: A minimum overall grade point average of 3 Laboratory and/or library research conducted under the direction of a faculty member. A total of three units of Independent Study may be applied toward the computer science, computer systems, computer engineering, and bioinformatics majors. Formerly CSE 595B. CSE 5953. Independent Study. Units: 3 Semester Prerequisite: A minimum overall grade point average of 3, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the semester in which the course is to be taken. Quarter Prerequisite: a minimum overall grade point average of 3 Laboratory and/or library research conducted under the direction of a faculty member. A total of three units of Independent Study may be applied toward the computer science, computer systems, computer engineering, and bioinformatics majors. Formerly CSE 595C. CSE 6020. Computation and Complexity Theory. Units: 3 Semester Prerequisite: Graduate standing in computer science or consent of instructor. Quarter Prerequisite: CSE 500 or consent of instructor Theoretical foundations of computer science: deterministic and non- deterministic Turing machines, models of computation; recursive functions, Church's thesis and undecidable problems; complexity classes P, NP, CO-NP and PSPACE. May not be taken for credit by students who have received credit for CSE 5010 or CSE 501. Formerly CSE 602. CSE 6030. Advanced Computation and Complexity Theory. Units: 3 Semester Prerequisite: CSE 6020 or consent of instructor. Quarter Prerequisite: CSE 602 or consent of instructor Advanced topics in theoretical foundations of computer science:Church's thesis and undecidable problems; time and space complexity classes and relation to time randomized computation, interactive proofs; circuit computational model and circuit complexity; crytography and quantum complexity. Formerly CSE 603. School of Computer Science and Engineering 7 CSE 6100. Modern Computer Architecture. Units: 3 Semester Prerequisite: Graduate standing in computer science or consent of instructor. Quarter Prerequisite: CSE 401 or consent of instructor Study of the elements and construction of advanced computer systems, including parallel systems, vector processors, network scheduling, pipelining, array processors, and systolic arrays. May not be taken for credit by students who have received credit for CSE 5100 or CSE 510. Formerly CSE 610. CSE 6110. VLSI Circuit Design. Units: 3 Semester Prerequisite: graduate standing in computer science or consent of instructor. Quarter Prerequisite: graduate standing in computer science or consent of instructor Fundamental design techniques for Very Large Scale Integrated (VLSI) circuits; physics of semi-conductor devices; design rules and circuit layouts; use of computer-aided design tools for design, layout and testing. Formerly CSE 611. CSE 6200. Programming Languages Theory. Units: 3 Semester Prerequisite: Graduate standing in Computer Science or consent of instructor. Quarter Prerequisite: graduate standing in computer science or consent of instructor Theory of programming languages, including implementation details, the required machine and data structures needed for user interfaces, coded parallelism, distributed processing facilities, functional and object oriented programming languages. Formerly CSE 620. CSE 6210. Contemporary Computer Graphics. Units: 3 Semester Prerequisite: Graduate standing in computer science or consent of instructor, and basic knowledge of computer graphics. Quarter Prerequisite: Graduate standing in computer science or consent of instructor, and basic knowledge of computer graphics Theory and practice of modern computer graphics techniques. Topics include 3-D modeling, interaction, ray tracing, object representation, visualization, and animation techniques. Formerly CSE 621. CSE 6240. Distributed Computer Systems. Units: 3 Semester Prerequisite: graduate standing in computer science or consent of instructor. Quarter Prerequisite: graduate standing in computer science or consent of instructor Message passing; implementation of shared data over messaging; distributed control; access methods; reliability; heterogeneity; resilience; applications in operating systems, synchronization, and deadlock. Formerly CSE 624. CSE 6250. Multiprocessor and Parallel Processing. Units: 3 Semester Prerequisite: Graduate standing in Computer Science or consent of instructor. Quarter Prerequisite: graduate standing in computer science or consent of instructor Tightly and loosely coupled multiprocessors; interconnection network; parallel programming languages; scheduling; problem decomposition; performance; synchronization; communication; multiprocessor programming. May not be taken for credit by students who have received credit for CSE 525 or CSE 5250. Formerly CSE 625. CSE 6300. Theory of Algorithms and Their Analysis. Units: 3 Semester Prerequisite: Graduate standing in computer science or consent of instructor. Quarter Prerequisite: CSE 431 or consent of instructor Algorithmic techniques, construction, time and space complexities, properties of taxonomic classes; survey of processing algorithms for graphs, trees, sets, and sequences; algebraic, numeric and geometric analysis techniques; dynamic programming, randomized algorithms, parallel algorithms; NP. Formerly CSE 630. CSE 6310. Advanced Data Communications. Units: 3 Semester Prerequisite: CSE 5300 or CSE 4100 or consent of instructor. Quarter Prerequisite: CSE 530 or consent of instructor High bandwidth networks, formal models of network performance, traffic and congestion control, formal routing theory, quality of service, and internet protocol suite adaptations to high bandwidth networks. Formerly CSE 631. CSE 6340. Neural Networks. Units: 3 Semester Prerequisite: Graduate standing in computer science or consent of instructor. Quarter Prerequisite: Graduate standing in computer science or consent of instructor Theory and applications of neural networks; current developments; perceptrons, recurrent networks, self-organizing maps, multi-layer networks, deep learning, content-addressable memories. Formerly CSE 634. CSE 6350. Numerical Algorithms and Simulation. Units: 3 Semester Prerequisite: CSE 5350 or consent of instructor. Quarter Prerequisite: CSE 535 or consent of instructor Scientific computing and simulation. Systems of liner equations, linear least squares, backward error analysis and numerical stability, stiff equations, simulation, sparse matrices. Formerly CSE 635. CSE 6400. Artificial Intelligence. Units: 3 Quarter Prerequisite: Graduate standing in computer science or consent of instructor Knowledge representations, heuristics, theory of problem solving; adaptive systems; natural language understanding; automatic theorem proving; machine learning and robotics systems. Formerly 640. CSE 6550. Software Engineering Concepts. Units: 3 Semester Prerequisite: Graduate standing in computer science or consent of instructor. Quarter Prerequisite: CSE 455, 555, or 556 or consent of instructor Analysis of software requirements definitions, software systems design, implementation issues, verification and validation, and software maintenance techniques; rapid prototyping procedures; operational and transformational paradigms of software development; software engineering models and applications in object-oriented programming languages. Formerly CSE 655.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved