EECS 447 Introduction to Database Systems
Introduction to the concept of databases and their operations. Basic concepts, database architectures, storage structures and indexing, data structures: hierarchical, network, and relational database organizations. Database design and normalization: ER model, candidates keys, functional dependencies, normal forms, decomposition. Emphasis on relational databases, relational algebra, and SQL. Introduction to views, transactions, and database access control. Introduction to database security, big data, NoSQL, CAP theorem, key-value stores. Prerequisite: Upper-level EECS eligibility or departmental consent.
Bachelor of Science in Computer Science
B.S. in Computer Science Program Educational Objectives Graduates who have earned the bachelor’s degree in computer science, within a few years following graduation, will have demonstrated technical proficiency, collaborative activities, and professional development. Technical Proficiency Graduates will have achieved success and visibility in their chosen careers as shown by technical accomplishments in industry, government, entrepreneurial activities, or academia. Collaborative Activities Graduates will have exercised shared responsibilities through activities such as contributions to multiperson or multidisciplinary technical projects, participation in professional society/organization functions, or performing collaborative research. In all such cases, graduates will have contributed to documentation of the collaborative activities. Professional Development Graduates will have demonstrated continual updating to extend their expertise and adapt to a changing environment through graduate studies; short courses, conferences, and seminars; or professional self-study. In addition, graduates will have demonstrated evidence of increasing technical and/or managerial impact. Careers Professional Opportunities Computer scientists may pursue the design, analysis, and implementation of computer algorithms; study the theory of programming methods and languages; or design and develop software systems. They also may work in artificial intelligence, database systems, parallel and distributed computation, human-computer interaction, computer graphics, operating systems, or computer systems analysis and administration. Computer scientists may work for software companies, government and defense, telecommunications, or consulting firms.