Computer Science (CSC)

CSC 150. Foundations of Comp Science. (3 Credits)

provides a survey and overview of computer science via its Grand Ideas. Computer Science is the study of problem solving, which is the focus of CSC 150. The view of a computer system as a combination of hardware, software, and people is explored in detail. The computer system as a tool for personal and professional problem solving is emphasized. Foundational computer science concepts along with artificial intelligence, ethical issues, application, and hands-on computer use are explored. Students select a topic of interest as a term project to augment class discussion and laboratory experiences. The relationship between a Christian worldview and a technological society is investigated. CSC 150 serves as the foundation for all further CSC courses and has no prerequisites; it is therefore suitable for all students as an introduction to the fascinating world of computer science and information technology. CSC 150 is part of the AI concentration in the CS curriculum. CSC 150 satisfies the core mathematics requirement (except for CS and IT majors). 3 credits.

Prerequisite: None

Offered at: CUAA, CUW, OL

CSC 175. Informatics. (3 Credits)

is the continuation of CSC 150 with a focus on tools and techniques for the advanced application of computer technology to real-world problems. Both hardware (eg, robotics, computer construction, game consoles, etc) and software (eg, animation, analytics, informatics, development, databases, etc) will be used to create productive and efficient solutions to actual problems. Informatics allows the student to develop expertise in effectively applying computer technology to a wide variety of personal and professional problems. Analysis of problems and synthesis of automated solutions is emphasized. A unit approach allows the integration of current events, technology skills, science concepts, and human factors into viable practice. The relationship between a Christian worldview and the application of technology is investigated. Computer certifications (such as A+) are explored also. CSC 175 is part of the AI concentration in the CS curriculum. 3 credits.

Prerequisites: CSC 150 with a grade of C or better.

Offered at: CUW

CSC 180. Readings in Science & Technolo. (3 Credits)

explores classic and current articles in the fields of computer science, computer information sciences, and information technology. This course provides insights into effective reading and writing techniques in order to understand science and technology. In addition to specific activities focusing on reading and writing, students will select an interesting area of science or technology to investigate as a guided independent study. Useful information sources for science and technology will be explored, and students will be challenged to read widely and well as a foundation for life-long learning. The relationship between a Christian worldview and the development of science and technology is investigated. Computer certifications (such as Network+) are explored also. CSC 180 satisfies university requirements as a Writing Intensive course. CSC 180 is part of the university Great Text Pathway. 3 credits.

Prerequisites: CSC 150 with a grade of C or better.

Offered at: CUW

CSC 200. Foundations of Programing. (3 Credits)

allows students to explore initial computer programming concepts with an emphasis on mapping current problem solving abilities to techniques that produce efficient computer systems. Topics covered include: history of programming languages, variables, conditionals, iteration, methods, and objects. These topics are covered within the context of good problem solving techniques, algorithm design, and user experience. The use of Python, an industry standard programming language, allows students to focus on the concepts of programming while minimizing the complexity of language details. Computer certifications (such as Mendix) are explored also. 3 credits

Prerequisites: CSC 150 with a grade of C or better.

Offered at: CUW

CSC 210. Art & Science of Comp Animatio. (3 Credits)

This course will introduce students to 3D computer animation including the end-to-end development process from script/story writing, production planning, creating geometric models and surface properties, designing motion, staging and lighting the action, rendered images with 2D and 3D effects, and editing them into a short film. Open Source software will be used for animation exercises. Throughout the course, existing 2D and 3D movies will be used for learning the techniques and methods of professional animators. The course is designed for students with no previous animation skills and will lead students through a series of exercises that build on each other to learn 2D and 3D animation techniques. 3 credits.

Prerequisites: CSC 150 and CSC 200.

Offered at: CUW

CSC 250. Computer Science, Thry/Prct I. (3 Credits)

allows students to transition from intermediate software developers to budding professionals by initially working with the Java programming language using industry standard development tools identical to those used by professionals to map concepts found in CSC 200 from Python to Java. The course then focuses on enhancing those skills through the design of graphical user interfaces (GUIs) within the context of Android mobile application development. Upon completion, students will have the necessary skills to develop and deploy simple mobile applications to the Google Play store. They will also have a comparative understanding of how Android development skills directly map to iOS development for distribution on the iPhone App Store. 3 credits.

Prerequisites: CSC 150 and CSC 200 with a grade of C or better.

Offered at: CUAA, CUW

CSC 300. Computer Science,Thry/Prct II. (3 Credits)

allows students to transition from budding professional software developers to the necessary skillset to succeed in a career as a software developer. The same programming language and Android development tools found in CSC 250 are used while shifting the emphasis from programming fundamentals to data structures and algorithm design for more advanced application development. Topics covered include linked lists, stacks, queues, trees, graphs, searching and sorting algorithms, as well as various algorithms that tackle the problems found in more complex software applications. A successful student will have the necessary programming skills to explore advanced topics in computer science as well as begin an internship in the software development industry. 3 credits.

Prerequisites: CSC 250 with a grade of C or better.

Offered at: CUAA, CUW

CSC 310. Web-Based Software Devel. (3 Credits)

this course the student learns how to employ modern mark-up languages to create usable, well-structured web pages that display a variety of media, develop shared style specifications, write programs to implement client-side functionality, adhere to accessibility guidelines, establish server-side functionality, connect pages to databases, manage structured data, evaluate ethical issues, and ensure a high level of security for users and organizations

Prerequisite: None

Offered at: CUAA

CSC 313. The IT Experience. (1 Credit)

allows student to gain experience in Information Technology by carrying out actual projects for the Computer Science department. An IT professional serves others by solving problems when applying and managing technology (both hardware and software). An effective IT practitioner understands both technology and people. The IT professional is able to effectively communicate with users in order to understand the problem and provide a solution. This course allows students to develop a number of problem-solving strategies by administering the technology used in the Computer Science department. Aspects of server certification (such as Server+) are explored also. May be repeated for credit. 3 credits.

Prerequisites: CSC 150 with a grade of C or better.

Offered at: CUW

CSC 315. Intermed Computer Animation. (3 Credits)

will continue work begun in CSC 210 with a deeper exploration of 3D computer animation and introduction of a commercial 3D animation software product, Autodesk Maya. The class is viewed as a logical continuation of CSC 210. This course explores the core technical and artistic aspects of 3D computer animation. Students will learn character modeling, character rigging, skinning, animation, and lighting using Autodesk Maya. 3 credits.

Prerequisites: CSC 210 with a grade of C or better.

Offered at: CUW

CSC 320. History of Animation. (3 Credits)

is an advanced-level course designed to enhance animation knowledge developed in CSC 210 and CSC 315. The emphasis in this course is on developing a deep understanding of the history of early animation, as well as, computer animation. CSC 320 will introduce students to various genres in animation and show the increased complexity in animation over the years 3 credits.

Prerequisites: CSC 315 with a grade of C or better.

Offered at: CUW

CSC 325. Computer Org & Arch I. (3 Credits)

investigates the internal hardware function and structure of a computer in depth. The programmer’s relationship to architecture and the computer scientist’s relationship to organization are studied. Major topics include: peripherals (I/O and storage), the processor (CPU and memory), ALU (computer arithmetic), and the CU (computer instruction sets). Students will construct computer circuits from component chips and carry out programming assignments in assembly language. 3 credits.

Prerequisites: CSC 150 and CSC 250 with a grade of C or better and upper-division status.

Offered at: CUAA

CSC 335. Character & Story Development. (3 Credits)

is designed to challenge technically minded students in the development of realistic characters and believable storylines. Successful animators need to utilize both sides of their brains and cannot be merely technically proficient. The discipline of animation bridges the gap between creativity and technology. In this course, students will use a variety of animation software and hardware to produce a semester-long project that demonstrates the use of all of their God-given talents.

Prerequisites: CSC 315 with a grade of C or better 3 credits.

Offered at: CUW

CSC 350. Computer Operating System. (3 Credits)

examines the foundational concepts, functions, and structure of operating systems. The primary operating system jobs of resource management, interfacing, and command interpretation are studied in depth. The roles of computer scientist and systems software are investigated using both a microcomputer operating system and a large computer operating system. Students carry out a systems level programming project. CSC 350 is part of the AI concentration in the CS curriculum. 3 credits.

Prerequisites: CSC 150 and CSC 250 with a grade of C or better and upper-division status.

Offered at: CUAA, CUW

CSC 355. Game Programming 1. (3 Credits)

allows students to explore video game programming through Unity, an industry standard 2D/3D game engine. Design and Story elements are discussed, but an emphasis is placed on mastering the Unity development tool and applying an existing programming skillset to the tasks common in 2D game programming. Topics include system dynamics, scripting fundamentals, game development tools, functions, properties, interfaces, environments, asset management, physics, cameras, lighting, sound, and the game build process. An emphasis is placed on including traditional computer science topics like animation, artificial intelligence, networking, and operating systems within the context of 2D game programming. Students will appreciate that game programming is an application of traditional computer science concepts rather than an alternative to a traditional computer science education. Successful students will have the necessary skills to create 2D games capable of being deployed to PS4, XBOX One, or Android/iPhone mobile devices. 3 credits.

Prerequisites: CSC 300 with a grade of C or better.

CSC 360. Data Structures and Algorithms. (3 Credits)

this course further develops students’ abilities to design and implement complex computer programs that employ abstractions such as ordered binary trees, balanced binary trees, N-ary trees, B-trees, directed graphs of arbitrary topology, linked-list implementations of sparse matrices, and hash tables. Students will learn to determine the space and time complexity of algorithms that operate on these structures, including those for searching, sorting, and updating. This course will explore limitations on computation, including the class of non-polynomial complete problems.

Prerequisite: None

CSC 370. Software Engineering. (3 Credits)

is the management of the entire software development process. This course affords the student the opportunity to explore the art and science of professional software development in great detail. The foundational aspects of the creative process, idea, implementation, and interaction are investigated in the context of software development. Principles of requirements, specifications, design, implementation, and maintenance are studied. The software development lifecycle is used as a management tool for the professional creation of effective systems. Support and management issues including design patterns, user and developer documentation, coding tools, and quality assurance are investigated. Actual programming projects are analyzed along with current research in the field. Several major software projects, both individual and team, are synthesized by students using an industry methodology. Knowledge of the programming environment utilized in CSC 250 is required. CSC 370 is part of the AI concentration in the CS curriculum. CSC 370 satisfies university requirements as a Writing Intensive course. 3 credits.

Prerequisites: CSC 150 and CSC 250 with a grade of C or better.

Offered at: CUAA, CUW

CSC 375. Computational Methods. (3 Credits)

investigates the essential elements of numerical analysis and computational methods, particularly emphasizing recursive and iterative processes, mathematical modeling, and the analysis of algorithms. The mathematical foundations of informatics and analytics are explored. Applications to artificial intelligence and machine learning are investigated. CSC 375 is part of the AI concentration in the CS curriculum. 3 credits.

Prerequisites: MATH 205, MATH 220 and CSC 250.

CSC 390. Special Topics. (3 Credits)

explores new and interesting topics developed in computer science. Course content varies by semester. This course may be repeated with change of topic and consent of department chair for additional credit. 3 credits.

Prerequisites: CSC 150 and CSC 200.

CSC 400. Computer Internship. (3 Credits)

consists of supervised work in a given area of computer science in an industrial or business setting. The topic of the internship is determined in conjunction with the responsible faculty, the on-site supervisor, and the student. May be repeated for credit. 1 credit hour.

Prerequisites: CSC 150, CSC 200, and permission of department chair.

Offered at: CUW

CSC 410. Vocation and Ethical Computing. (3 Credits)

provides the foundation for professional ethics in the fields of Computer Science and Information Technology. Students are familiarized with the doctrine of vocation and its implications for ethical attitudes, policies and behaviors. Students see their work as a means of service with social responsibilities that go far beyond the immediate legal and business-related requirements of their employer. Relevant moral criteria are presented and applied to contemporary case studies. 3 credits.

Prerequisites: CSC 150, CSC 175, CSC 180, CSC 200, and upper-division status.

Offered at: CUW

CSC 415. Applied Artificial Intelligenc. (3 Credits)

investigates the concepts of intelligence, both human and machine, and the nature of information, its origin, description, and transmission. This course focuses on practical approaches to incorporating artificial intelligence into useful applications. Included are such topics as neural networks, search techniques, natural language processing, and robotic construction. The nature of human intelligence and the limits of machine intelligence will be treated from a scientific, philosophical, and computational perspective. CSC 410 is part of the AI concentration in the CS curriculum. 3 credits.

Prerequisites: CSC 150, CSC 175, CSC 200, and upper-division status.

Offered at: CUW

CSC 420. Human Computer Interaction. (3 Credits)

concerns the fundamental issue of effective and usable human computer interaction. In addition to technical issues, people and process must be understood to create effective and usable tools. As CS and IT practitioners create and manage systems as effective problem-solving tools for others, they must develop a user-centered perspective within the organizational context. To that end this course will study related issues including cognitive principles, human-centered design, ergonomics, accessibility, emerging technologies and usable environments. CSC 420 is part of the AI concentration in the CS curriculum. 3 credits.

Prerequisites: CSC 150, CSC 175, CSC 200, and upper-division status.

Offered at: CUAA, CUW

CSC 425. Comp Org & Arch II. (3 Credits)

is a continuation of CSC 325. Advanced topics in organization and architecture are treated in depth. Concepts include: external interfacing, bus design, CU and ALU function and structure and parallel processing. Students will specify, design, and construct a hardware project. 3 credits.

Prerequisites: CSC 150 and CSC 325 and upper-division status.

CSC 426. Data Security and Info Assuran. (3 Credits)

is a survey and overview of methods to safeguard the computer and information technology employed today. Computer and information systems are increasingly under attack and therefore knowledge of attacks, protection, and counter-measures is important. Students will understand and manage assurance and security measures within the enterprise. Topics include operational issues, policies and procedures, attacks and related defense measures, risk analysis, backup and recovery, and the security of information.

Prerequisites: CSC 150, CSC 175, CSC 200, and upper-division status 3 credits.

Offered at: CUW

CSC 430. Database & Info Management. (3 Credits)

provides students with the background to plan, design, implement, maintain, and use database management systems. It addresses database structures, requirements, functions and evaluation of database management systems. The course focuses on the relational database model, standard SQL language, database structure normalization, conceptual data modeling, and the entity-relationship data model. Concepts of data integrity, security, privacy, and concurrence control are included. 3 credits.

Prerequisites: CSC 150, CSC 175, CSC 180, CSC 200, and upper-division status.

Offered at: CUAA, CUW

CSC 435. Advanced Computer Animation. (3 Credits)

this course is an advanced level course designed to advance animation knowledge developed in CSC 210 and CSC 315. The emphasis in this course is on extending the Maya skills developed in CSC 315 by examining and demonstrating advanced skills such as Fluids, Particles, nParticles, Fur, nHair, Bifrost, and mental rays. CSC 435 will also introduce and utilize Maya extensions and toolsets such as RenderMan, which provides the ability to add photo-realism to your creations.

Prerequisites: CSC 315 with a grade of C or better.

CSC 440. Networking. (3 Credits)

is an in-depth analysis of data communication and networking ranging from the primitive historical approaches to the ever changing modern state of the field. It includes principles of network design, using a top-down approach and focusing on technologies used in the Internet. It will help students learn to design network-aware applications using sockets, threading, and concurrency as they understand the transport layer down to the physical layer. 3 credits.

Prerequisites: CSC 150, CSC 175, CSC 200, CSC 250, and upper-division status.

Offered at: CUAA, CUW

CSC 450. Systems Software. (3 Credits)

examines system-level software in depth with an emphasis on translation software and database systems. The interaction between systems-level software and the computer hardware is studied. The role of computer scientist in abstracting the hardware from the computer user is explored. 3 credits.

Prerequisites: CSC 150, CSC 325, and CSC 350.

CSC 455. Game Programming II. (3 Credits)

allows students to build upon their Unity 2D skillset by exploring many of the same concepts within a 3D game environment. Additional topics include multiplayer support, relative real-time latency issues and solutions, frame rate, and game servers. An introduction into expanding 3D game design for virtual reality is woven into various concepts in the course. An emphasis is placed on including traditional computer science topics like animation, artificial intelligence, networking, and operating systems within the context of 3D game programming. Students will appreciate that game programming is an application of traditional computer science concepts rather than an alternative to a traditional computer science education. Successful students will have the necessary skills to create 3D games capable of being deployed to PS4, XBOX One, or Android/iPhone mobile devices. 3 credits.

Prerequisites: CSC 355 and CSC 370 with a grade of C or better.

Offered at: CUW

CSC 460. Web Systems and Technologies. (3 Credits)

are the primary information repositories of 21st century information technology. This course focuses on web technologies, information architecture, digital media, web design and development, vulnerabilities and social software. 3 credits.

Prerequisites: CSC 150, CSC 175, CSC 180 and CSC 200.

CSC 470. Programming Languages. (3 Credits)

surveys major topics in the design, analysis, implementation and use of high-level languages. The four major programming paradigms are studied (procedural, functional, object, and declarative). Programming projects in each paradigm are implemented. 3 credits. Course Descriptions

Prerequisites: CSC 150, CSC 300, and CSC 370.

Offered at: CUAA, CUW

CSC 480. Topics in Computer Science. (3 Credits)

this course focuses on a topic in computer science defined by the department in consultation with students. Students read current professional literature, discuss work being done in the area, carry out related projects, write papers and research reports, and make formal, public presentations of their work. In Spring 2019 this course will focus on human-computer interaction.

Prerequisite: None

Offered at: CUAA

CSC 490. Theory of Computer Science. (3 Credits)

provides the student the opportunity to explore the Grand Ideas of computer science in a systematic way. Senior computer science students will be exposed to a variety of fundamental computer science concepts within a sound philosophical framework. Current events and small scale projects will augment and reinforce computer science concepts. The senior computer science assessment examination will be administered in this course. Topics include, Boolean Algebra and logic, Finite State Machines, grammars, correctness proofs, Turing Machines, analysis and discovery of algorithms, Finite Automata, coding and information theory, and aspects of creation. Students are challenged to explore the relationship between a Christian worldview and the fundamental concepts of computer science and technology. 3 credits.

Prerequisite: Senior Standing in CS (consent of department chair).

Offered at: CUW

CSC 491. Senior Project. (3 Credits)

provides the student the opportunity to showcase computer science problem solving skills by synthesizing an acceptable project. Students choose an acceptable problem and then fully implement the solution to that problem following professional programming practice. Students present their progress and project in both written reports and oral presentations. CSC 491 is part of the AI concentration in the CS curriculum. 3 credits.

Prerequisites: CSC 370 at CUW and Senior Standing in CS (consent of department chair).

Offered at: CUW