Computer Science (CSC)

CSC 510. Vocation and Ethical 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.

CSC 515. Applied 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.

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.

CSC 525. Data Security and Information Assurance. (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.

CSC 530. Database Administration. (3 Credits)

This course provides students with solid theoretical and practical knowledge for developing database management systems. Students will plan, design, implement, maintain, and use database management systems and review the use of databases in small and large commercial organizations. The course addresses concepts, database structures, database architecture, understanding user requirements, user views, 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. Students will work with real world applications and databases. Concepts of data integrity, security, privacy, ethical use, and concurrence control are included.

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.

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.

CSC 543. Advanced Algorithms. (3 Credits)

This is an advanced course in current trends in Problem Solving and Algorithms that builds on our undergraduate courses data structure (CSC300) and CS Theory (CSC490). This course will look at emerging algorithms across the grand ideas of computer science. As new technologies emerge, new algorithms must be explored to support them.

CSC 545. System Analysis and Design. (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.

CSC 548. Mobile Computer Architecture. (3 Credits)

An advanced course in current trends in Computer Architecture with a specific emphasis put on decisions related to mobile devices that needs to weigh battery life, heat, and performance more critically than traditional computer systems. This course builds on our undergraduate Architecture course (CSC325).

CSC 549. Language Theory. (3 Credits)

This is an advanced course in current trends of programming language design and implementation. Students will create a modern trends inspired programming language and solve traditional problems using their creation. This course builds on our undergraduate language theory class (CSC470).

CSC 550. System Administration 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, and administrative domains.

CSC 552. Advanced Networking. (3 Credits)

This is an advanced course which focuses on modern trends in computer networking technology. While this course will be related to the other networking course in this curriculum, it takes a different approach. Focus is placed on advanced topics related to emerging computer networking concepts.

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.

CSC 580. Internship in IT. (1 Credit)

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