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 Program Overview and Courses of Instruction, Study notes of Compiler Design

An overview of the Computer Science program, including available programs, courses of instruction, and flowcharts. It covers topics such as object-oriented programming, digital logic, software development, algorithms, and multimedia. The program prepares students for software design, development, application, and maintenance, as well as algorithmic design and analysis. The document also discusses the impact of computer technology on society and the economic, political, and social issues raised by computers.

Typology: Study notes

2021/2022

Uploaded on 05/11/2023

arien
arien 🇺🇸

4.8

(23)

64 documents

1 / 5

Toggle sidebar

Related documents


Partial preview of the text

Download Computer Science Program Overview and Courses of Instruction and more Study notes Compiler Design in PDF only on Docsity! 60 computer science (CSCI) CSCI overview • programs available courses of instruction • flowcharts Computer scientists and engineers design and implement efficient software and hardware solutions to computer-solvable problems. They are involved in the development of areas such as high-speed networks, multimedia and cre- ative technologies, systems design and virtual reality. The Computer Science program prepares students to enter the industry in the areas of software design, development, application and maintenance. It also provides intensive study in algorithmic design and analysis and the theory of computing, which are needed for graduate studies. Computer engineers integrate hardware and software processes to form solu- tions to problems arising from complex systems such as atomic reactors, guid- ance systems and manufacturing systems. They design and engineer com- puters and computer networks. Programs Available • Computer Science Bachelor of Science 128 units • Computer Engineering and Computer Science Bachelor of Science 131 units • Physics/Computer Science Bachelor of Science 128 units • Interactive Multimedia minor • Multimedia and Creative Technology minor See pages 63-64 for the curricula of each of the B.S. programs listed above. Information on each degree emphasis and minors can be found below. See page 82 for information on minor programs offered by the USC Viterbi School of Engineering. Physics/Computer Science Degree This program is intended for students with dual interests in physics and computer science who wish to complete the essential courses for both majors within their normal four year career. See the Physics and Astronomy Department section of the USC Catalogue for course requirements. Minor in Interactive Multimedia See page 82 for information on the Minor in Interactive Multimedia. Note that this minor is not open to students in the School of Engineering (these students should pursue the Multimedia and Creative Technologies Minor instead). Minor in Multimedia and Creative Technologies See page 82 for information on the Minor in Multimedia and Creative Technolo- gies. Courses of Instruction The terms indicated are expected but are not guaranteed. For the courses offered during any given term, consult the Schedule of Classes. C O M P U T E R S C I E N C E ( C S C I ) 101L Fundamentals of Computer Programming (3, FaSp) Introduction to the design of solutions to computer solvable problems. Algorithm design, solution implementation using a high- level programming language, program correctness and verification. 102L Data Structures (4, FaSp) Linear lists, strings, arrays, and orthogonal lists; graphs, trees, binary trees, multilinked structures, sorting techniques; dynamic storage allocation; applications. Prerequi- site: CSCI 101L. 105 Object-Oriented Programming (2, Sp) The principles of object-oriented programming are examined using Java. Topics include graphics, graphical user interfaces and multi-threaded program- ming. Prerequisite: CSCI 101L. 107 Computers and Society (3, FaSp) What computers are and how they function. Impact of computer technology on society. Economic, political and social issues raised by computers. 110 Introduction to Digital Logic (3) (Enroll in EE 101) 201L Principles of Software Develop- ment (4, FaSp) The object-oriented paradigm for programming-in-the-large (using the C++ language); UNIX tools for software development; developing window-based applications under X- windows. Prerequisite: CSCI 102. 271 Discrete Methods in Computer Science (3, FaSp) Models for discrete structures; finite state automata, regular sets. Selected applications of logic and combinatorics to program correctness, algorithms and complexity, programming language semantics and databases. Prerequisite: CSCI 102. 303 Design and Analysis of Algorithms (3, FaSp) Upper and lower bounds on sorting and order median. Deterministic and random computation, data structures, NP-completeness, cryptography, Turing machines and undecidability. Prerequisite: CSCI 102 and CSCI 271. 320 Digital Media Basics for Multime- dia (3, FaSp) (Enroll in EE 320) 351 Programming and Multimedia on the World Wide Web (3, Sp) HTML programming for creating home pages, installation and modification of Web server, writing programs that offer enhanced services, manipulation of graphics, video and sound. Prerequisite: CSCI 102L. 357 Basic Organization of Computer Systems (3) (Enroll in EE 357) 61 Dr. Barry Boehm Computer Science 377 Introduction to Software Engi- neering (3, Fa) Introduction of prin- ciples, methods, techniques and tools for multi-person construction of multi- version software systems. Prerequisite: CSCI 102. 390 Special Problems (1-4) Supervised, individual studies. No more than one registration permitted. Enrollment by petition only. 402x Operating Systems (3, FaSp) Basic issues in concurrency, deadlock control, synchronization scheduling, memory management, protection and access control, inter-process communica- tion, and structured design. Laboratory experiences with Unix-like operating system. Not available for graduate credit to computer science majors. Prerequisite: CSCI 201L or CSCI 455x; EE 357. 410x Translation of Programming Languages (3, Fa) Concepts of assem- blers, compilers, interpreters and their design; macro assemblers, Polish notation and translation techniques; operator precedence parsing, push down au- tomata, code generation. Not available for graduate credit to computer science majors. Prerequisite: CSCI 201; corequisite: EE 357. 445 Introduction to Robotics (4, Fa) Designing, building and programming mobile robots; sensors, effectors, basic con- trol theory, control architectures, some ad- vanced topics, illustrations of state-of-the- art. Teamwork; final project tested in a ro- bot contest. Junior standing or higher. Pre- requisite: CSCI 101L or C language pro- gramming. 450 Introduction to Computer Net- works (3) (Enroll in EE 450) 454L Introduction to Systems Design Using Microprocessors (4) (Enroll in EE 454L) 455x Introduction to Programming Sys- tems Design (4, FaSp) Intensive introduc- tion to programming principles, discrete mathematics for computing, software de- sign and software engineering concepts. Not available for credit to computer science majors, graduate or undergraduate. Prereq- uisite: departmental approval. 457x Computer Systems Organization (3) (Enroll in EE 457Lx) 458 Numerical Methods (4) (Enroll in MATH 458) 459 Computer Systems and Applications Modeling Fundamentals (3, Sp) Tech- niques and tools needed to construct/evalu- ate models of computer systems and appli- cations. Analytical and simulation methods, capacity planning, performance/reliability evaluation, and decision-making. Prerequi- site: MATH 225, CSCI 201. 460 Introduction to Artificial Intelli- gence (3, FaSp) Concepts and algo- rithms underlying the understanding and construction of intelligent systems. Agents, problem solving, search, repre- sentation, reasoning, planning, communi- cation, perception, robotics, neural networks. Junior standing. Prerequisite: CSCI 102L or CSCI 455x. 465 Probabilistic Methods in Computer Systems Modeling (3) (Enroll in EE 465) 477 Design and Construction of Large Software Systems (3, Sp) Programming methodologies; intra-group and inter- group communication; software lifecycle; software economics. A large software project is a central aspect of the course. Prerequisite: CSCI 201, CSCI 377. 480 Computer Graphics (3, FaSp) Hardware for interactive graphic systems; picture representations; data structures for graphics; picture processing tech- niques; languages for graphics; survey of applications such as animation and simulation. Prerequisite: CSCI 102. 485 File and Database Management (3, FaSp) File input/output techniques, basic methods for file organization, file managers, principles of databases, conceptual data models, and query languages. Prerequisite: CSCI 201. 490x Directed Research (2-8, max 8) Individual research and readings. Not available for graduate credit. Prerequisite: departmental approval. 495 Senior Project (3) (Enroll in PHYS 495) 499 Special Topics (2-4, max 8) Selected topics in computer science. computer science
Docsity logo



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