2023-2024 Undergraduate Catalog

Computer Science

In keeping with the fast-growing computer science industry, the Computer Science program is designed to prepare students for an industrial, business, or governmental career or further graduate educational goals. The focus of the Computer Science degree lies in three areas:

  1. Technology Integration: Students will be able to combine necessary theories, software programs, and operating systems to address real-world issues.
  2. Information Technology: Students will be able to understand and utilize current development tools to build revised or new platforms for future application.
  3. Analytical/Critical Thinking: Students will be able to analyze, understand, and modify an existing framework and to propose a new strategy within the given constraints.

Included in the computer science facility are a research laboratory, study areas, and electronic classrooms with large screen projection systems for lectures. Small classes allow faculty members to provide individualized attention to students and their projects and research. Students can gain faculty advised research experience through various summer research grants and independent study opportunities.

California Lutheran University computer science graduates pursue careers that utilize their skills in software and hardware development, programming, computer use in businesses, computer engineering and education.

Graduates of California Lutheran University’s computer science program are working at:

  • Disney
  • Google
  • Teradyne
  • Intel
  • Raytheon
  • Boeing
  • XYTech Systems
  • XYPro Technology Systems
  • and more

They also attend graduate (MS and PhD programs) at various universities

  • Washington State University
  • University of Southern California
  • University of California, Berkeley
  • University of California, Santa Barbara
  • and more

Computer science students are in demand and California Lutheran University's graduates enjoy a high rate of placement in jobs and graduate schools.

 

Bachelor of Science in Computer Science

48 credits minimum, 36 credits upper division

CSC 210Introduction to Computer Programming4
CSC 220Advanced Computer Programming4
CSC 335Software Engineering4
CSC 340Operating Systems4
CSC 350Data Communication & Networks4
CSC 499Capstone4
MATH 241Discrete Mathematics4
Additional Computer Science credits20
Total Hours48

Recommended supporting courses

ART 380Digital Art3
ART 480Advanced Digital Art3
MATH 251Calculus I4
MULT 100Introduction to Multimedia4
Total Hours14

 

 

Certificate in Information Technology

32 credits, 20 credits upper division.  GPA 2.25 or higher.

CSC 210Introduction to Computer Programming4
CSC 220Advanced Computer Programming4
CSC 335Software Engineering4
CSC 340Operating Systems4
CSC 350Data Communication & Networks4
MATH 241Discrete Mathematics4
Additional Upper Division Computer Science Credits8
Total Hours32

 

Minor in Computer Science

20 credits minimum, 12 credits upper division.

 

Please note that CSC-210 is the official beginning course for Computer Science and Computer Information Systems majors and minors.   To be eligible for registering CSC-210, students are expected to successfully complete CSC110 or pass the CSC110 placement test (passing score is 80/100).

Courses

Lower Division

CSC 110. Concepts of Programming. (4).

Introduction of logic concepts in programming. Breadth approach to essential elements of computer programming. Text based operating systems such as DOS will be discussed. Topics covered are problem solving concepts, computer systems, disk operating systems, computer programming languages, programming fundamentals, testing and debugging, conditions and branching, loops, flowcharts, compound statements, non-compound statements, top-down program design.

CSC 205. Programming for Scientists. (4).

This course introduces the principles of computer programming, problem-solving methods, and algorithm development from a scientific perspective. The programming languages covered are C (a compiled language popular among engineers and mathematicians), and Perl (a scripting language popular among bioengineers) both in wide use in scientific fields. Also covered are introductory software engineering techniques and tools necessary to convert a functional specification to a properly functioning program. Examples and assignments will be drawn from the natural sciences. (Cross listed with Sci 205).

CSC 210. Introduction to Computer Programming. (4).

First-semester computer programming course. This course introduces the principles of computer science, problem-solving methods and algorithm development using a high-level language. This is a programming class primarily for computer science, computer information systems, mathematics, and science majors. The ability to use a computer is essential. Prerequisites: CSC 110 or permission of instructor, MATH 110 or equivalent.

CSC 220. Advanced Computer Programming. (4).

A second-semester computer programming course. This course takes a state-of-the-art approach to software design/development with object-oriented techniques. Topics include algorithm analysis, string processing, internal search/sort methods, complex data structures, design strategies, and code reusability. Prerequisite: CSC 210.

CSC 282C. ST: Select Topic (core). (1-4).

Select Topic approved for core.

CSC 4ST. Selected Topic. (4).

Upper Division

CSC 300. Visual Programming. (4).

Advanced programming course which focuses on the design of visual user-interface in the Windows environment. Topics include basic forms, simple structures, variables, control mechanism, types and expressions, complex data structure, looping, functions, procedures, selections, multiple forms, files and arrays. Prerequisite: CSC 210.

CSC 310. Algorithms. (4).

Continues the study of the design and analysis of algorithms, particularly those handling complex data structures and non-numeric processes. Includes an introduction to algorithm design techniques, algorithm verification and the impact of parallel computation on algorithms, operating systems and architectures. A brief introduction is given to artificial intelligence focusing on data representation and heuristic search methods. Prerequisites: CSC 210, MATH 241.

CSC 315. Object-Oriented Design and Analysis. (4).

Discusses the features and advantages of an object-oriented approach to problem solving. Topics include abstraction, inheritance, polymorphism, object-oriented design, analysis, implementation and testing. Prerequisites: CSC 210.

CSC 321. Computer Organization and Architecture. (4).

Principles of computer organization and architecture are introduced from a layered point of view, beginning at data representation and progressing through the machine language execution cycle. Representative software-hardware tradeoffs in the implementation of various computer system components will be presented. The design and interface to a variety of peripheral devices will also be discussed. The emphasis will be on the hardware aspects of a computer system. Prerequisites: CSC 210, MATH 241.

CSC 322. Introduction to Robotics. (4).

An introductory study of the field of robotics-devices designed and programmed to perform various tasks. Topics include; hardware design (mechanical and electronic); software design; power subsystems; sensors; actuators; effectors; applications; comparison to biological systems; safety; societal impact and ethics. Student will study theory (lecture component) and build/program a robot (laboratory component). Prereq:  Math-151.

CSC 325. Organization of Programming Languages. (4).

Covers introduction of major language histories, common components, built-in structures, compositions of basic structures, language specification, analysis techniques, runtime behavior, de-facto standards, and future developments. Prerequisites: CSC 210, MATH 241.

CSC 331. Systems Analysis. (4).

This is the first course in system engineering that stresses the system development life cycle. Students learn ways of organizing the structure and process of building very large-scale systems that may or may not involve computers. Includes information gathering, design tradeoffs, implementation strategies, product liability, acceptable risk analysis and project follow-up. Prerequisites: CSC 210, MATH 241.

CSC 335. Software Engineering. (4).

Presents a formal approach to state-of-the-art techniques for software design and development, involving students in a team approach to organizing, managing and developing software. Prerequisites: CSC 210, MATH 241.

CSC 340. Operating Systems. (4).

Discusses the major functionality and principles behind all major operating systems tasks, including user interface, hardware sharing among users, data sharing among processes, user protections, resources scheduling among users, multi-user environment, multi-processing and real-time systems. Prerequisites: CSC 210, MATH 241.

CSC 344. Web Design. (4).

Studies the backbone of dynamic Web documents. Subjects include Web design standards, and Web-based application programming to make layout, tables, style sheets, templates, libraries, frames and rollovers. HTML and script languages such as Java Scripts, GUI design paint tools and plug-ins are studied in depth. Prerequisites: CSC 210, MATH 241.

CSC 350. Data Communication & Networks. (4).

Includes discussion of distributed data processing, communication techniques, wide-area and local-area networks, integrated services digital network, open-systems interconnection, security and network management. Prerequisites: CSC 210, MATH 241.

CSC 355. Client/Server Fundamentals. (4).

Discusses modern technology in network communication and cooperative computation. Topics include discussion of client/server design concept, software expectation, hardware requirement, service, support and training issues. Prerequisites: CSC 210.

CSC 360. Computer System Security. (4).

An introduction of security issues in computer system and data communications, including Data Encryption Standard, public-key systems, digital signatures, ciphers, data compression, data manipulation and supporting techniques. Prerequisites: CSC 210, MATH 241.

CSC 370. Multimedia Technology. (4).

Introduces modern multimedia technologies. Topics include basic concepts, principles, sound, image, animation, standards, hardware and software requirements, new technologies, current research and practice, and future directions. Prerequisites: CSC 210, MATH 151.

CSC 400. Graphical User Interface. (4).

An introductory course to user interface design fundamentals. Topics include development methodologies, evaluation techniques, user-interface building tools, considerations in the design phase, identification of applicable design rules, and successful delivery of the design. Prerequisite: CSC 210.

CSC 405. Graphics. (4).

Review of graphic display architecture and graphic input devices. Coverage includes two- and three-dimensional drawing, viewing, clipping, transformations, shading and data structures for graphics systems. Prerequisites: CSC 220, MATH 241.

CSC 410. Database Management Systems. (4).

Studies the concepts and structures necessary to design and operate a database management system. Topics include data modeling, relational database design, and database querying. Prerequisites: CSC 210, MATH 241.

CSC 435. Competition Problem Solving. (4).

This course challenges students in real-world problem solving and prepares for the prestigious Association of Computing Machinery International Collegiate Programming Contest (ACM-ICPC). What is a good problem solving? It can be one that delivers the correct result. What is then a good competition problem solving? It is one that delivers the correct result in the expected amount of computation time. While there are a few classic problem-solving approaches, students in this course will learn to devise techniques in a deeper manner because most real-world problems command new approaches instead of the mere application of classic ones. Such skill will be of great importance for future advancement in both the industry as well as the academics.

CSC 482. Selected Topics. (1-4).

CSC 482C. ST: Select Topic (core). (1-4).

Select Topic approved for core.

CSC 490. Independent Study. (1-4).

CSC 492. Internship. (1-4).

(graded P/NC only).

CSC 496. Directed Research. (1-3).

CSC 499. Capstone. (4).

Undergraduate research or development project. The exact nature of the project is negotiated with the sponsoring professor.

Faculty

Professor

Peng

Associate professor

Reinhart