School of Computing

Undergraduate Courses in Computer Science

CP SC 101, H101 Computer Science I 4(3,2) Introduction to modern problem solving and programming methods. Special emphasis is placed on algorithm development and software life cycle concepts. Includes use of appropriate tools and discusses ethical issues arising from the impact of computing upon society. Intended for students concentrating in computer science or related fields. Preq: MTHSC 105 or satisfactory score on the Clemson Mathematics Placement Test or consent of instructor.

CP SC 102, H102 Computer Science II 4(3,2) Continuation of CP SC 101. Continued emphasis on problem solving and program development techniques. Examines typical numerical, nonnumerical, and data processing problems. Introduces basic data structures. Credit may not be received for both CP SC 102 and 210. Preq: CP SC 101 with a C or better.

CP SC 104 Introduction to the Concepts and Logic of Computer Programming 2(1,2) Introduction to the concepts and logic of computer programming. Simple models are used to introduce basic techniques for developing a programmed solution to a given problem. Problem solving techniques are considered. Not open to students who have received credit for CP SC 101, 111, 157, or 210.

CP SC 110, H110 Elementary Computer Programming 3(3,0) Introduction to computer programming and its use in solving problems. Intended primarily for technical majors. Basic instruction in programming techniques is combined with tools use and discussions of ethical issues arising from the impact of computing on society.

CP SC 111 Elementary Computer Programming in C/C++ 3(2,2) Introduction to computer programming in C/C++ and its use in solving problems. Intended primarily for technical majors. Basic instruction in programming techniques is combined with tools use and discussions of ethical issues arising from the impact of computing on society.

CP SC 115 Introduction to Computational Science 3(3,0) Introduction to systems thinking. Includes development of dynamical systems models using visual modeling tools and development of dynamical systems using agent based software. Class material investigates elementary science and engineering models.

CP SC 120 Introduction to Information Technology 3(2,2) Investigation of ethical and societal issues based on the expanding integration of computers into our everyday lives. Considers historical background, terminology, new technologies and the projected future of computers. Includes practical experience with common computer software technologies. Will not satisfy Computer Science Requirements in any Computer Science major.

CP SC 157 Introduction to C Programming 2(2,0) Introduction to basic programming techniques using the C programming language.

CP SC 161 Introduction to Visual Basic Programming 3(2,2) Introduction to programming using the Visual Basic language. Topics include simple and complex data types, arithmetic operations, control flow, files, and database programming. Several projects are implemented during the semester.

CP SC 210 Programming Methodology 4(3,2) Introduction to programming techniques and methodology. Topics include structured programming, stepwise refinement, program design and implementation techniques, modularization criteria, program testing and verification, basic data structures, and analysis of algorithms. Credit may not be received for both CP SC 102 and 210. Preq: CP SC 111 or equivalent; satisfactory performance on a pretest.

CP SC 212 Algorithms and Data Structures 4(3,2) Study of data structures and algorithms fundamental to computer science; abstract data-type concepts; measures of program running time and time complexity; algorithm analysis and design techniques. Preq: CP SC 102 or 210 with a C or better.

CP SC 215 Software Development Foundations 3(2,2) Intensive study of software development foundations. Advanced coverage of programming language primitives, function-level design principles, and standard development and debugging tools. Introductory coverage of module-level design principles, program specification and reasoning principles, and validation and verification techniques. Preq: CP SC 102 or 210 with a C or better.

CP SC 220 Microcomputer Applications 3(3,0) Applications of microcomputers to formulate and solve problem models. Emphasizes applications development in database and spreadsheet environments. Current software products are used. Preq: CP SC 120 or MGT 218 or equivalent.

CP SC 231 Introduction to Computer Organization 4(3,2) Study of the machine architectures on which algorithms are implemented and requirements of architectures that support high-level languages, programming environments, and applications. Preq: CP SC 102 or 210 with a C or better.

CP SC 281 Selected Topics in Computer Science 1-4(0-3,0-6) Areas of computer science in which new trends arise. Innovative approaches to a variety of problems in the use and understanding of basic computing concepts are developed and implemented. May be repeated for a maximum of eight credits, but only if different topics are covered. Preq: Consent of instructor.

CP SC 291 Seminar in Professional Issues I 1(1,0) Considers the impact of computer use on society. Discusses ethical use of software and protection of intellectual property rights. Profession is viewed historically; organizations important to the profession are discussed; the development process for standards is presented; and students are introduced to the professional literature. Preq: CP SC 102 or 210, or consent of instructor.

CP SC (E C E) 322 Introduction to Operating Systems 3(3,0) Detailed study of management techniques for the control of computer hardware resources. Topics include interrupt systems, primitive level characteristics of hardware and the management of memory, processor, devices, and data. Credit may not be received for both CP SC 322 and 332. Preq: CP SC 215 and 231 with a C or better; or E C E 223 and 272 with a C or better.

CP SC 330 Computer Systems Organization 3(3,0) Introduction to the structure of computer systems. Various hardware/software configurations are explored and presented as integrated systems. Topics include digital logic, basic computer organization, computer arithmetic, memory organization, input/output organizations, interrupt processing, multiprocessors, and cluster computers. Preq: CP SC 212, 215, 231 with a C or better.

CP SC 332 Computer Systems 3(3,0) Introduces design, integration, and use of hardware and software components in standard computer systems. Emphasizes computer organization at the component level, interfacing, basic operating system functions, and system utilities. Credit may not be received for both CP SC (E C E) 322 and 332. Preq: CP SC 212, 215, 231 with a C or better.

CP SC 350 Foundations of Computer Science 3(3,0) Development of the theoretical foundations of programming, algorithms, languages, automata, computability, complexity, data structures, and operating systems; a broad range of fundamental topics is consolidated and extended in preparation for further study. Preq: CP SC 212 and MTHSC 119 with a C or better.

CP SC (E C E) 352 Programming Systems 3(3,0) See E C E 352.

CP SC 360 Networks and Network Programming 3(3,0) Introduction to basic concepts of computer network technologies and network programming. Topics include network programming, layered protocol architectures, local and wide area networks, internetwork and intranetwork concepts, security. Socket level programming is introduced and used throughout the course. Preq: CP SC 212, 215 with a C or better.

CP SC 361 Data Management Systems Laboratory 1(0,2) Introduces mainframe environments typical of large-scale data processing applications; programming languages, control languages, and file utilities; use of COBOL language and IBM JCL. Preq: CP SC 102 or 210; or equivalent. Coreq: CP SC 360.

CP SC 362 Distributed and Cluster Computing 3(3,0) Introduction to the basic technology of and programming techniques for distributed and cluster computing. Standard techniques for developing parallel solutions to problems are introduced and implemented. Software systems that provide high-level abstractions for data communications are considered. Preq: CP SC 360 with a C or better.

CP SC 371 Systems Analysis 3(3,0) Incorporates a study of the decision-making process at all levels with the logical design of information systems. Extensive study of the system life cycle with emphasis on current as well as classical techniques for describing data flows, data structures, file design, etc. Preq: CP SC 360.

CP SC 372 Introduction to Software Engineering 3(3,0) Intensive introduction to software engineering. Focuses on each major phase of the software lifecycle. Introductory coverage of requirements analysis, requirements modeling, design modeling, and project management. Intermediate coverage of module-level design principles, program specification and reasoning principles, and program validation and verification techniques. Preq: CP SC 212 and 215 with a C or better.

CP SC H395 Honors Seminar 1(1,0) Research topics in various areas of computer science are presented. Methods for identifying and initiating research projects are considered. May be repeated for a maximum of two credits. Preq: Admission to Departmental Honors Program.

CP SC 405, 605 Introduction to Graphical Systems Design 3(3,0) Study of principles, computational techniques, and design concepts needed for designing systems for effective graphical displays. Preq: CP SC 212, 215, MTHSC 108, 311 with a C or better.

CP SC 411, 611 Virtual Reality Systems 3(3,0) Design and implementation of software systems necessary to create virtual environments. Discusses techniques for achieving real-time, dynamic display of photorealistic, synthetic images. Includes hands-on experience with electromagnetically-tracked, head-mounted displays and requires, as a final project, the design and construction of a virtual environment. Preq: CP SC 405 with a C or better.

CP SC 412, 612 Eye Tracking Methodology and Applications 3(3,0) Introduction to the human visual system; visual perception; eye movements; eye tracking systems and applications in psychology, industrial engineering, marketing, and computer science; hands-on experience with real time, corneal-reflection eye trackers, experimental issues. Final project requires the execution and analysis of an eye tracking experiment. Preq: CP SC 360, MKT 431, or PSYCH 310.

CP SC 414, 614 Human and Computer Interaction 3(3,0) Survey of human and computer interaction, its literature, history, and techniques. Covers cognitive and social models and limitations, hardware and software interface components, design methods, support for design, and evaluation methods. Preq: CP SC 212 and 215 with a C or better, or equivalent.

CP SC 416, 616 2-D Game Engine Construction 3(3,0) Introduction to tools and techniques necessary to build 2-D games. Techniques draw from subject areas such as software engineering, algorithms, and artificial intelligence. Students employ techniques such as sprite animation, parallax scrolling, sound, AI incorporated into game sprites, and the construction of a game shell. Preq: CP SC 212 and 215 with a C or better.

CP SC 420, 620 Computer Security Principles 3(3,0) Covers principles of information systems security, including security policies, cryptography, authentication, access control mechanisms, system evaluation models, auditing, and intrusion detection. Computer security system case studies are analyzed. Preq: CP SC (E C E) 322 and 360 with a C or better.

CP SC 424, 634 System Administration and Security 3(3,0) Covers topics related to the administration and security of computer systems. Primary emphasis is on the administration and security of contemporary operating systems. Preq: CP SC 360 and (E C E) 322 or 332 with a C or better.

CP SC 428, 628 Design and Implementation of Programming Languages 3(3,0) Overview of programming language structures and features and their implementation. Control and data structures found in various languages are studied. Also includes runtime organization and environment and implementation models. Preq: CP SC 231, 350, 360 with a C or better.

CP SC 455, 655 Computational Science 3(3,0) Introduction to the methods and problems of computational science. Uses problems from engineering and science to develop mathematical and computational solutions. Case studies use techniques from Grand Challenge problems. Emphasizes the use of networking, group development, and modern programming environments. Preq: MTHSC 108, 311, and previous programming experience in a higher level language.

CP SC 462, H462, 662 Database Management Systems 3(3,0) Introduction to database/data communications concepts as related to the design of online information systems. Problems involving structuring, creating, maintaining, and accessing multiple-user databases are presented and solutions developed. Comparison of several commercially available teleprocessing monitor and database management systems is made. Preq: CP SC 360.

CP SC 463, 663 On-line Systems 3(3,0) In-depth study of the design and implementation of transaction processing systems and an introduction to basic communications concepts. A survey of commercially available software and a project using one of the systems are included. Preq: CP SC 462.

CP SC 464, 664 Introduction to Computer Architecture 3(3,0) Survey of von Neumann computer architecture at the instruction-set level. Fundamental design issues are emphasized and illustrated using historical and current mainframe, supermini, and micro architecture. Preq: CP SC 330 or consent of instructor.

CP SC 472, H472, 672 Software Development Methodology 3(3,0) Advanced topics in software development methodology. Techniques such as chief programmer teams, structured design and structured walk-throughs are discussed and used in a major project. Emphasizes the application of these techniques to large-scale software implementation projects. Also includes additional topics such as mathematical foundations of structured programming and verification techniques. Preq: CP SC 360 and 372.

CP SC 481, H481, 681 Selected Topics 1-3(1-3,0) Areas of computer science in which nonstandard problems arise. Innovative approaches to problem solutions which draw from a variety of support courses are developed and implemented. Emphasizes independent study and projects. May be repeated for a maximum of six credits, but only if different topics are covered. Preq: Consent of instructor.

CP SC 491 Seminar in Professional Issues II 3(2,2) Considers the impact of computing system development on society. Discusses ethical issues in the design and development of computer software. Students discuss standards for professional behavior, the professional's responsibility to the profession, and techniques for maintaining currency in a dynamic field. Preq: Senior standing.

CP SC H495 Senior Thesis Research 1-3(1-3,0) Directed individual research project for honors students supervised by departmental faculty. May be repeated for a maximum of six credits. Preq: Senior standing.