Computer Science (CS) CS 252 in T R O T O Com P U T E R Organization (4) Lecture 3 Hours; Laboratory 3 Hours
Total Page:16
File Type:pdf, Size:1020Kb
Computer Science (CS) CS 252 INTR O T O Com PUTER ORgaNIZATION (4) Lecture 3 hours; laboratory 3 hours. This course looks at the interface between CS 101 INTR O DU C TI O N T O Com PUTER S A ND Com PUTIN G (3) computer hardware and software by introducing computer architecture and low- Lecture, 2 hours; laboratory, 2 hours. This course provides an overview of how level programming. Topics to be covered include data representations, digital logic, computers work and how to use basic software tools and utilities on a per- combinational and sequential circuits, computer system organization from the sonal computer. Topics include computer types, history of computing, computer machine language point of view, and assembly language implementation of high- organization and operation, survey of computer languages, program development, level constructs. Prerequisites: CS 110 and CS 115, or consent of instructor. computer applications (word processing, database, graphics, spreadsheets, etc.), CS 285 SELE C TED TO PI cs IN Com PUTER SC IEN C E (1-4) and computers in society. Weekly hands-on experience with a variety of operating This lower division course may be repeated with different subject matter. Content systems and applications. Not applicable to the CS major. Recommended for all will be indicated by the specific topic. Prerequisite: as indicated in the specific students. Satisfies GE, category B3. topic description or by consent of instructor. CS 110 INTR O DU C TI O N T O UNIX (1) CS 315 DA T A STRU C TURE S (4) Laboratory, 3 hours. This course is an introduction to the use of Unix as a Lecture, 3 hours; laboratory, 3 hours. This course introduces the concept of the programming environment. Communicating with a Unix host, shells and shell organization of data into different structures to support the efficient implemen- commands, files and directories, X Window System, jobs and processes, scripting, tation of computer algorithms. The emphasis of the course is on the internal and programming utilities (compiler, linker, debugger, make, hex dump, etc.). representation of the elementary and intermediate data structures, their time and Prerequisites: GE Math eligibility and previous or concurrent enrollment in CS 115, space requirements, and their applications. A second component of the course is or consent of instructor. the study of more advanced features of object oriented programming. Prerequisite: CS 115 PR og R amm IN G I (4) CS 215 or consent of instructor. Lecture, 3 hours; laboratory, 3 hours. This course gives an overview of computer CS 340 Com PUTER SE C URITY (3) organization; arithmetic and logical expressions, decision and iteration, simple I/O; Current methods for increasing security, protecting privacy, and guaranteeing de- subprograms; principles of good programming style, readability, documentation, grees of confidentiality of computer records; ensuring computer installation safety; and structured programming concepts; top-down design and refinements; and protecting software products; preventing and dealing with crime; value systems, techniques of debugging and testing. Use of the above concepts will be imple- ethics, and human factors affecting use and misuse of computers; and discussion mented in a standard high-level programming language. Satisfies GE, category B3. of recent technical, legal, and sociopolitical issues influencing computer security Prerequisite: GE math eligibility or consent of instructor. problems. Prerequisites: CS 215 and CS 252, or consent of instructor. CS 115W PR og R amm IN G I WO RK S H O P (1) CS 349 PR ob LE M SO L V IN G IN A TE am EN V IR O N M ENT (1) A workshop designed to be taken with CS 115. Exploration of programming con- Laboratory, 2 hours. This course focuses on problem solving and program cepts through problem solving in a group setting. Corequisite: CS 115. development in a team programming environment. Topics include techniques for CS 175 INTR O Com PUTER GR A PHI cs (3) problem analysis and algorithm design, rapid implementation and pair program- Lecture, 2 hours; laboratory, 2 hours. This is a first course in computer graphics ming methods, use of standard container classes and library functions. Different hardware and software. Topics include graphics hardware, microcomputer graph- types of problems will be selected each semester. May be repeated for credit. A ics, presentation and business graphics, graphics for artists, computer mapping, maximum of 3 units can be applied to the Computer Science major. Prerequisite: CAD/CAM (drafting and environmental applications), animation, 3-dimensional CS 315 or consent of instructor. SSU students taking this course participate in graphics, and desktop publishing. Students will have hands-on experience using a regional and national programming competitions. variety of graphics programs on microcomputers. Not applicable to the CS major. CS 351 Com PUTER AR C HITE C TURE (4) Prerequisite: previous computer course or consent of instructor. Lecture, 4 hours. This course is a sequel to CS 252 and includes the following CS 185 SPE C I A L TO PI cs IN Com PUTER SC I (1-4) topics: Instruction set design; stages of instruction execution, data and control This lower-division course may be repeated with different subject matter. Content path design; CISC, RISC, stack architectures; pipelining; program optimization will be indicated by the specific topic. Prerequisite: consent of instructor. techniques, memory hierarchy: cache models and design issues, virtual memory and secondary storage; I/O interfacing. Advanced topics to include some of the CS 215 PR og R amm IN G II (4) following: parallel architectures, DSP or other special purpose architecture, FPGA, Lecture, 3 hours; laboratory, 3 hours. This course is a sequel to CS 115. Topics reconfigurable architecture, and asynchronous circuit design. Prerequisites: CS include Pointers and dynamic allocation of storage, linked lists, an introduction to 215 and CS 252, or consent of instructor. the object oriented programming (OOP) paradigm, classes and objects, encapsula- tion, member variables and member functions, inheritance and polymorphism, CS 355 DA T abas E MA N ag E M ENT SY S TE ms DE S I G N (4) scoping, templates, iterators, and error handling techniques. Prerequisites: CS 110 Lecture, 4 hours. This course focuses on the theoretical as well as the practical and CS 115, or consent of instructor. aspects of modern database systems. Topics include the study of the entity- relationship (E/R) model, relational algebra, data normalization, XML as a semi- CS 242 DI sc RETE STRU C TURE S F O R Com PUTER SC IEN C E (4) structured data model, data integrity, and database administration. Current tools Lecture, 4 hours. This course covers fundamental mathematical concepts blended and technology are used to create and manipulate sample databases. Prerequisite: with their applications in Computer Science. Topics include sets, functions and CS 215 or consent of instructor. relations, Boolean algebra, normal forms, Karnaugh map and other minimiza- tion techniques, predicate logic, formal and informal proof techniques, relational algebra, basic counting techniques, recurrence relations, and introduction to graph theory. Prerequisites: CS 115 and MATH 161, or consent of instructor. Sonoma State University 2008-2010 Catalog Course Descriptions Page 289 CS 360 OB JE C T ORIENTED PR og R amm IN G (3) CS 450 OPER A TIN G SY S TE ms (4) Principles of object-oriented programming, including encapsulation, inheritance, Lecture, 4 hours. This course covers the fundamental concepts of operating and polymorphism, and design patterns for object-oriented programming. system design and implementation, the study of problems, goals, and methods of Specific applications are developed in one or more object-oriented programming concurrent programming, and the fundamentals of systems programming. Topics languages and will cover the use of application frameworks and graphical user include resource-management, process and thread scheduling algorithms, inter- interfaces based on object-oriented principles. Prerequisites: CS 215, or consent process communication, I/O subsystems and device-drivers, memory manage- of instructor. ment including virtual memory, segmentation, and page-replacement policies. These topics will be covered in theory and in practice through the study of the CS 365 Com PUTER NET wo RKIN G A ND THE INTERNET (3) source-code of a working operating system. Prerequisites: CS 252 and CS 315, or Lecture, 2 hours; laboratory, 3 hours. A study of the principles, algorithms, and consent of instructor. protocols used in computer networks with an emphasis on those used in the Internet. Prerequisites: CS 215 and CS 252, or consent of instructor. CS 452 Com PILER DE S I G N A ND CO N S TRU C TI O N (3) Lecture, 2 hours; laboratory, 2 hours. Application of language and automata CS 370 SO FT wa RE DE S I G N A ND DE V EL O P M ENT (4) theory to the design and construction of compilers; lexical scanning, top-down Lecture, 4 hours. Techniques of software design and development. Software life- and bottom-up parsing; semantic analysis and code generation; optimization; and cycle, requirements, formal specification, metrics, design, functional and structural design and construction of parts of a simple compiler using compiler generation testing, rapid prototyping, complexity, version control, team management, software tools. Prerequisite: CS 215 and 252, or consent of instructor. metrics, and tools for component based software development. Prerequisite: CS 215 or consent of instructor. CS 454 THE O RY O F Com PUT A TI O N (4) Lecture, 4 hours. This course provides a mathematical study of the types of prob- CS 375 Com PUTER GR A PHI cs (3) lems that can and cannot be solved by computers using abstract mathematical An introduction to the principles of computer graphics hardware, coordinate trans- models of computing devices and language specification systems with focus on formations, 2- and 3-dimensional primitives, raster display algorithms, polygon regular and context-free languages.