Computer Science (CSC)

CSC 501. Introduction to Informatics. (3 Credits)

This course allows students to explore and understand the manifold dimensions of informatics and information technology. Informatics is using technology to aid people in solving problems. Information technology is the interrelationship between hardware, software, and people in the context of solving problems. This course also reviews a number of important concepts present in an undergraduate information technology program. In addition to the science of informatics, unique aspects of graduate studies in information technology are explored including practical issues related to graduate student success. CSC501/801 is required of students who do not have an undergraduate degree in an information technology related discipline from an accredited U.S. university. This course is especially helpful for students who have been away from higher education for some time or for international students.

Prerequisite: None

CSC 502. Essentials of Computer Science. (3 Credits)

this course provides essential and foundational computer science information and is designed for students without an undergraduate degree in CS who wish to pursue the MS CS degree. Students admitted conditionally to the program are required to successfully complete CSC 502 before enrolling in any other MS CS course. Major course topics include, effective programming, software engineering principles, theory of computer science, and algorithm design. Additional important topics include, computer ethics, relating a Christian worldview to computer science, the origin and history of computer science, a survey of emerging technologies, artificial intelligence, and the grand ideas of computer science. This course focuses on the theory, practice, and application of computer science. CSC 502 is an intensive, fast-paced course. Students should be willing and able to devote a significant amount of time to master course content. This course prepares the student for success in the MS CS program. 6 credit hours.

Prerequisite: admission to the MS CS program.

CSC 505. Foundations Information Tech. (3 Credits)

This course is a survey and overview of information technology used in the enterprise today. It includes such information technology fundamentals as: grand ideas of information technology; technology organizational issues; history of information technology; informing and allied disciplines; application domains; mathematical and statistical foundations; and ethical, moral and vocational issues in information technology. This course is a required first course in the Masters of Science in Information Technology curriculum. In addition to providing an overview of the discipline of information technology, the course develops an “IT mindset” in students by illustrating the diverse context and challenges in information technology. CSC 505/805 serves as the pre-requisite for all other MS IT courses.

Prerequisite: None

CSC 508. Theoretical Found of Comp Scie. (6 Credits)

mastering any discipline requires a thorough understanding of its theoretical foundations. Effective practitioners understand both the skills and concepts of their craft. This is especially true in computer science where our theory intersects deeply with our practice. Algorithms and computation are based upon mathematical models. Understanding the theoretical foundations of computer science allows the practitioner to create excellent applications. This course surveys a number of important theoretical constructs in computation. Major topics in CSC 508 include, formal languages, finite state machines, automata, grammars, and Turing Machines. Additional important topics include, computer ethics, relating a Christian worldview to computer science, language families, language representation and expression, parsing, computational structures, circuitry implementation, and programming implementation of algorithms. 6 credit hours.

Prerequisites: regular acceptance into the MS CS program, or successful completion of CSC 502 with a grade of B or better.

CSC 510. Vocation Computing. (3 Credits)

This course provides the foundation for professional ethics in the field of Information Technology. Students are familiarized with the doctrine of vocation and its implications for ethical attitudes, policies and behaviors within IT. They also learn the history of computer ethics and the codes of practice proposed by professional societies such as the Association for Computing Machinery and the Institute for the Management of Information Systems. As our society becomes increasingly dependent on IT, it is imperative that 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. Students learn that although the field of IT poses some unique ethical problems and challenges, these can be evaluated with the same moral criteria that apply in other walks of life. Specific topics studied include: serving the user’s needs; developing sustainable solutions; creating ethical products; the unintended power of computing solutions; computer security and privacy (including the problems of malicious software, hacking and identity disclosure); intellectual property rights; and the ethical implications of an electronic global community. Relevant moral criteria are presented and applied to contemporary case studies.

Prerequisite: None

CSC 515. Artificial Intelligence. (3 Credits)

Applied Artificial Intelligence presents the concepts of intelligence, both human and machine, and the nature of information, its origin, description, and transmission. This course will offer a practical approach to incorporating artificial intelligence into useful applications. It includes such topics as: face recognition, speech recognition, and robotic construction. The nature of human intelligence and the limits of machine intelligence will be treated from a scientific, philosophical, and computational perspective.

Prerequisite: None

CSC 518. Software Design & Development. (3 Credits)

topics include advanced programming techniques, dynamic data structures, object-oriented design, requirements analysis, correctness and efficiency of algorithms, deployment on multiple modern platforms, risk mitigation, long-term maintenance of software systems. Software Engineering principles are applied in order to develop systems in a professional manner. 6 credit hours.

Prerequisites: unconditional admission to the MS CS program, or completion of CSC 502 with a grade of B or better.

CSC 520. User Experience. (3 Credits)

User Experience (UX) - an advanced course in current trends involving how humans use technology and the appropriate and changing interfaces required. This is an extension of the undergraduate Human Computer Interaction course (CSC420) which emphasizes fundamental user experience theory. CSC520 tackles emerging technologies and their unique interface requirements with human beings.

Prerequisite: None

CSC 525. Cybersecurity. (3 Credits)

This course is a survey and overview of methods available to safeguard the information technology used in an enterprise today. IT systems are increasingly under attack and therefore knowledge of attacks, protection, and counter-measures is important to the IT practitioner. The IT practitioner must comprehend 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.

Prerequisite: None

CSC 528. Human Aspects of Comp Systems. (6 Credits)

the user experience is paramount in computer science. A thorough understanding of UX principles and techniques, along with a substantial understanding of computer ethics is a prerequisite to successful computer science practice. This course investigates the broad spectrum of UX (user experience) from UI and HCI to IxD and AI. Topics include, the observation and interviews of clients and users in order to determine system requirements, iterative prototyping of user interfaces, assessment of usability, the use of social networking in computing systems, legal and ethical principles related to computing systems. The foundational role of a Christian worldview in computer ethics is studied. 6 credit hours.

Prerequisites: unconditional admission to the MS CS program, or completion of CSC 502 with a grade of B or better.

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

This course provides students with the background to plan, design, implement, maintain, and use 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.

Prerequisite: None

CSC 532. Advanced Database Topics. (3 Credits)

This course explores advanced topics in database and information management systems. It is designed to delve deeper into subjects presented in CSC 530 Database and Information Management. In addition, it will examine new topics that were not covered in the introductory course. The course will provide a combination of practical applications and theoretical information. Major topics include: distributed databases, object-oriented databases, security, advanced SQL, performance tuning, and database integration with the internet. Throughout the course, we will incorporate the requirement for the ethical use of information.

Prerequisite: None

CSC 533. Big Data Program & Data Vis. (3 Credits)

concepts of Big Data and Big Data Analytics allows students to investigate the theory, practice, and application of Big Data Analytics in the context of information technology. This course emphasizes the value of Big Data Analytics from a business perspective and introduces the student to the technologies and architectures that support Big Data in a variety of industry settings, with a specific focus on Apache Hadoop and Data Visualization. Key topics include the business value of Big Data, differences between traditional and Big Data information storage and reporting architectures and practices, the toolsets available to support Big Data collection, storage and analytics and the ethics of how Big Data is used in society. Several hands-on labs will be used that will require students to develop MapReduce programs that retrieve and analyze data using the Java programming language. Additional labs will require students to develop dashboards that use visualization to explain data patterns. 3 credit hours

Prerequisites: CSC 530/830 and CSC 535/835

CSC 535. Systems Develop:Theory&Practic. (3 Credits)

This course is a survey and overview of creating software solutions using professional programming practice. Programming is a foundational skill for all computing disciplines. This knowledge area develops skills and concepts that are essential to good programming practice and problem solving. It covers fundamental programming concepts, event-driven programming, object-oriented programming, basic data structures, and algorithmic processes. The use of current development environments and languages will be emphasized.

Prerequisite: None

CSC 537. Programming Practice II. (3 Credits)

Advanced computer programming concepts are explored using the Java programming language and the Google Android development environment. An industry standard tool is used which allows students to create visually stunning Google Android applications while learning advanced programming techniques and beginning data structures. Topics covered include: object oriented design, linked lists, stacks, queues, tree, and recursion. These topics are covered within the context of good problem solving technique, algorithm design, and the Google Android software development kit (SDK). The choice of Java and Google Android involve the platform independent nature of these tools, allowing students to complete the assignments on whatever computing platform they are most comfortable using.

Prerequisite: None

CSC 538. Data Management & Security. (6 Credits)

topics include relational database theory, practical database design, interfacing with a database programmatically via a query language, securing, encrypting, and decrypting data, delivery of data on a variety of modern platforms. 6 credit hours.

Prerequisites: unconditional admission to the MS CS program, or completion of CSC 502 with a grade of B or better.

CSC 540. Applied Computer Networking. (3 Credits)

This course is an in‐depth view 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. It will help students understand how the Internet works, from the transport layer down to the physical layer. It will help students prepare for future positions in research and development by introducing them to the latest research in Internet technologies. It will help students become better writers by emphasizing written work where possible. It will also help students apply networking technology in ways that can enrich their lives and assist in spreading the Gospel.

Prerequisite: None

CSC 543. Advanced Algorithms. (3 Credits)

CSC 545. System Design and Configuratio. (3 Credits)

Systems Analysis and Design allows students to investigate the theory, practice, and application of systems analysis and design in the context of information technology. This course emphasizes the vital and various roles played by people during the analysis and design of problem-solving systems. Key topics include requirements, acquisition and sourcing, integration, management, quality assurance, organizational context, and architecture. The tools and techniques of systems analysis and design are covered along with the information technology problem-solving model and appropriate documentation. Prototyping, process and data modeling, feasibility and reliability issues, and user interaction are studied. Current state-of-the-art topics in IT are used as illustrative examples. A project relating to a large IT system allows students to implement analysis and design techniques in a realistic setting.

Prerequisite: None

CSC 547. Compilers. (3 Credits)

CSC 548. Mobile Computer Architecture. (3 Credits)

topics include theory and design of computer hardware, data representations, operating systems, computer networks, runtime environments, and peripheral devices. Students will configure and interface software with all of these entities. 6 credit hours.

Prerequisites: unconditional admission to the MS CS program, or completion of CSC 502 with a grade of B or better.

CSC 549. Language Theory. (3 Credits)

CSC 550. System Admin and Maintenance. (3 Credits)

this course presents concepts and skills the professional system administrator must understand to effectively maintain enterprise information technology. Topics include: operating systems, application packages, administrative activities, administrative domains.

Prerequisites: CSC 545/845 3 Credit Hours

CSC 552. Advanced Networking. (3 Credits)

CSC 555. Project Management. (3 Credits)

This course examines Project Management concepts, skills, and techniques, which are vital for the successful development of any product using the software engineering process. This course will cover issues such as: requirements, request for proposals, acquisition and sourcing, integration, testing and quality assurance, and organization context.

Prerequisite: None

CSC 558. Applied RESTful APIs and Integrations. (3 Credits)

CSC 560. Applied RESTful APIs and Integrations. (3 Credits)

From eCommerce to data mining, web systems are the primary information repository of 21st century information technology. This course focuses on: web technologies, information architecture, digital media, web design and development, vulnerabilities and social software.

Prerequisite: None

CSC 565. IT Integrative Capstone. (3 Credits)

The IT integrative capstone course provides students the opportunity to showcase information technology concepts and problem solving skills by effectively analyzing a real problem and synthesizing an effective solution. Students choose an acceptable problem and then fully implement the solution to that problem following professional practice in a systems development framework. Students present their progress and project via written reports and oral presentations. The final acceptable project includes an actual product along with both process and product documentation equivalent to a master’s thesis.

Prerequisite: candidate status (as determined by program director)

CSC 566. Capstone Continuation. (0 Credits)

this is a continuation of CSC 565/865 for students who need more time to complete their projects.

Prerequisite: None

CSC 568. Research in Computer Sci. (6 Credits)

topics include searching professional computing literature, writing integrative summaries, design of a research project in computer science, executing the project, analyzing results, drawing conclusions, writing and presenting the project.

Prerequisite: successful completion of at least three courses required in the MS CS program 6 credit hours.

CSC 570. Readings in IT. (3 Credits)

this course provides insights into effective reading and writing techniques in the domain of information technology. In addition to specific activities focusing on reading and writing about information technology, students will select an interesting area of IT to investigate as a guided independent study. Useful information sources for technology will be explored, and students will be challenged to read widely and well as a foundation for life-long learning.

Prerequisites: CSC 505/805 3 Credit Hours

CSC 580. Internship in IT. (1-3 Credits)

The internship provides students with an opportunity to gain valuable practical experience under the guidance of a supervisor/mentor in the work setting, as well as a professor in the academic setting. The goal is to integrate practical work experience with the cumulative knowledge and skills obtained during the students' education. It is expected that students will develop personal, professional and additional academic competencies during the internship. In order to accomplish this, students will need to go beyond the common experiences of a normal employee. Study, reasoning, reflection and theoretical and conceptual exploration will be required for students to develop new skills and knowledge to get the most of the internship experience. All students in the Information Technology program are highly encouraged to obtain relevant work experience in the information technology field before graduation

Prerequisite: None

CSC 801. Introduction to Informatics. (3 Credits)

this course allows students to explore and understand the manifold dimensions of informatics. Informatics is using technology to aid people in solving problems. As The Technology Program with a Soul, CUW’s MS IT program concentrates on the vital role played by people in information technology. Information technology is the interrelationship between hardware, software, and people in the context of solving problems. This course also reviews a number of important concepts present in an undergraduate information technology program. In addition to the science of informatics, unique aspects of graduate studies in information technology are explored including practical issues related to graduate student success. The history and mission of CUW as a Lutheran higher education institution are examined. Because technological problems are solved via the communication of information, an emphasis is placed on reading and writing techniques for comprehension. Students will analyze their writing via the “writing cycle” as they read technical information and demonstrate comprehension of that information by creating effective documentation. CSC501/801 is required of students who do not have an undergraduate degree in an information technology related discipline from an accredited U.S. university. This course is especially helpful for students who have been away from higher education for some time or for international students. CSC 501/801 may be taken concurrently with CSC 505/805 if desired.

Prerequisite: admission to program 3 Credit Hours

CSC 805. Foundations Information Tech. (3 Credits)

this course is a survey and overview of information technology used in the enterprise today. It includes such information technology fundamentals as: grand ideas of information technology; technology organizational issues; history of information technology; informing and allied disciplines; application domains; mathematical and statistical foundations; and ethical, moral and vocational issues in information technology. This course is the required first course in the Masters of Science in Information Technology curriculum. In addition to providing an overview of the discipline of information technology, the course develops an "IT mindset" in students by illustrating the diverse context and challenges in information technology. CSC 505/805 serves as the pre-requisite for all other MS IT course.

Prerequisite: admission to program 3 Credit Hours

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

this course provides the foundation for professional ethics in the field of Information Technology (IT). Students are familiarized with the doctrine of vocation and its implications for ethical attitudes, policies and behaviors within IT. They also learn the history of computer ethics and the codes of practice proposed by professional societies such as the Association for Computing Machinery and the Institute for the Management of Information Systems. As our society becomes increasingly dependent on IT, it is imperative that 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. Students learn that although the field of IT poses some unique ethical problems and challenges, these can be evaluated with the same moral criteria that apply in other walks of life. Specific topics studied include: serving the user's needs; developing sustainable and modifiable solutions; creating ethical products; computer security and privacy (including the problems of malicious software, hacking and identity disclosure); intellectual property rights; and the ethical implications of an electronic global community. Relevant moral criteria are presented and applied to contemporary case studies. The relationship between a Christian worldview and a technological society is investigated

Prerequisites: CSC 505/805 3 credit hours

CSC 815. Applied Artificial Intelligenc. (3 Credits)

this course illuminates the concepts of intelligence, both human and machine, and the nature of information, its origin, description, and transmission. This course will offer a practical approach to incorporating artificial intelligence into useful applications. Major topics include: face recognition, speech recognition expert systems, machine learning and robotics. The nature of human intelligence and the limits of machine intelligence will be treated from a scientific, philosophical, and computational perspective.

Prerequisites: CSC 505/805 3 Credit Hours

CSC 820. Human Computer Interaction. (3 Credits)

Information Technology practitioners do not create and manage systems for their own personal interest; instead, they create and manage systems as effective problem-solving tools for others. This course deals with the fundamental IT 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. IT practitioners 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.

Prerequisites: CSC 505/805 3 Credit Hours

CSC 825. Data Security & Info Assurance. (3 Credits)

this course is a survey and overview of methods to safeguard the information technology used in the enterprise today. IT systems are increasingly under attack and therefore knowledge of attacks, protection, and counter-measures is important to the IT practitioner. The IT practitioner must comprehend 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 505/805 3 Credit Hours

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

this course provides students with the background to plan, design, implement, maintain, and use database management systems. It addresses the 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.

Prerequisites: CSC 505/805 3 Credit Hours

CSC 832. Database Systems II. (3 Credits)

this course explores advanced topics in database and information management systems. It is designed to delve deeper into subjects presented in CSC 530 Database and Information Management. In addition, it will examine new topics that were not covered in the introductory course. The course will provide a combination of practical applications and theoretical information. Major topics include: distributed databases, object-oriented databases, security, advanced SQL, performance tuning, and database integration with the internet. Throughout the course, we will incorporate the requirement for ethical use of information.

Prerequisites: CSC 530/830 3 Credit Hours

CSC 833. Conc Big Data & Data Analytics. (3 Credits)

concepts of Big Data and Big Data Analytics allows students to investigate the theory, practice, and application of Big Data Analytics in the context of information technology. This course emphasizes the value of Big Data Analytics from a business perspective and introduces the student to the technologies and architectures that support Big Data in a variety of industry settings, with a specific focus on Apache Hadoop and Data Visualization. Key topics include the business value of Big Data, differences between traditional and Big Data information storage and reporting architectures and practices, the toolsets available to support Big Data collection, storage and analytics and the ethics of how Big Data is used in society. Several hands-on labs will be used that will require students to develop MapReduce programs that retrieve and analyze data using the Java programming language. Additional labs will require students to develop dashboards that use visualization to explain data patterns. 3 credit hours

Prerequisites: CSC 530/830 and CSC 535/835

CSC 835. System Develop:Theory&Practic. (3 Credits)

this course is a survey and overview of creating software solutions using professional programming practice. Programming is a foundational skill for all computing disciplines. This knowledge area develops skills and concepts that are essential to good programming practice and problem solving. It covers fundamental programming concepts, event-driven programming, object-oriented programming, basic data structures, and algorithmic processes. The use of current development environments and languages will be emphasized.

Prerequisites: CSC 510/810 3 Credit Hours

CSC 837. Programming Language II. (3 Credits)

advanced computer programming concepts are explored within the genre of iPhone/iPad programming. An industry standard tool is used which allows students to create visually stunning iPhone/iPad applications while learning advanced programming techniques, and beginning data structures. Topics covered include: object oriented design, linked lists, stacks, queues, and recursion. These topics are covered within the context of good problem solving technique, algorithm design, and the iPhone OS software development kit (SDK).

Prerequisites: CSC 535/835 3 Credit Hours

CSC 840. Networking. (3 Credits)

this course is an in-depth view 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. It will help students understand how the Internet works, from the transport layer down to the physical layer. It will help students prepare for future positions in research and development by introducing them to the latest research in Internet technologies. It will help students become better writers by emphasizing written work where possible. It will also help students apply networking technology in ways that can enrich their lives and assist in spreading the Gospel.

Prerequisites: CSC 505/805 3 Credit Hours

CSC 845. System Design and Configuratio. (3 Credits)

this course provides an in-depth treatment of those concepts practitioners must understand to effectively design and configure information technology systems. Topics include: operating systems, computer organization and architecture, computing infrastructures, enterprise deployment software, firmware and hardware, scripting and task automation, backup, and configuration.

Prerequisites: CSC 530/830 3 Credit Hours

CSC 850. System Admin & Maintenance. (3 Credits)

this course presents concepts and skills the professional system administrator must understand to effectively maintain enterprise information technology. Topics include: operating systems, application packages, administrative activities, administrative domains.

Prerequisites: CSC 545/845 3 Credit Hours

CSC 855. Project Management. (3 Credits)

project management concepts, skills, and techniques are vital for the successful development of any product using the software engineering process. This course will cover issues such as: requirements, request for proposals, acquisition and sourcing, integration, testing and quality assurance, and organization context.

Prerequisites: CSC 530/830 3 Credit Hours

CSC 860. Web Systems & Technologies. (3 Credits)

from eCommerce to data mining, web systems are the primary information repository of 21st century information technology. This course focuses on: web technologies, information architecture, digital media, web design and development, vulnerabilities and social software.

Prerequisites: CSC 520/820 3 Credit Hours

CSC 865. IT Integrative Capstone. (3 Credits)

the integrative capstone course provides the student the opportunity to showcase computer science concepts and problem solving skills by effectively analyzing a real problem and synthesizing an effective solution. Students choose an acceptable problem and then fully implement the solution to that problem following professional programming practice in a software engineering framework. Students present their progress and project via written reports and oral presentations. The final acceptable project includes an actual product along with both process and product documentation equivalent to a masters thesis. Prerequisite: candidate status (last semester) 3 Credit Hours

Prerequisites: candidate status (permission of program director) and successful completion of CSC 510/810, CSC 520/820, CSC 530/830, and CSC 535/835 candidate status (last semester) 3 Credit Hours

CSC 880. Internship in IT. (1 Credit)

internship consists of supervised work in a given area of information technology 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.

Prerequisite: permission of program director 1 Credit Hour