CSC 102: Introduction to Programming: 2 hours.
Description
A gentle introduction to programming for students with no or limited computer programming experience. Students will write small computer programs to practice problem solving and programming methodologies. Labs will be structured around the language common in a given discipline. Lab: CSC 102L
Goals for CSC 102 are:
- Have and introductory knowledge of programming
- Be able to write simple programs
Course outcomes for CSC 102 are:
Upon completion of CSC 102, students will understand:
- how to write simple programs
- programming terms including variables, selection, repetition, functions/procedures.
Program outcomes for CSC 102 are:
- Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1.1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Function effectively as a member or leader of a team engaged in activities appropriate to the program\x92s discipline. (Computing student learning outcome 5)
Integration
- Note taking at the introductory level via accountability for class notes
- Team work at the introductory level by working in pairs with a robot
- Professionalism at the introductory level by requiring all communications about the course to be at a professional level
- Ethics at an introductory level by covering:
- being honest about what your software can and cannot do
- encouraging their project to be socially responsible
- Cybersecurity at the introductory level by covering:
- secure programming in terms of what crazy input can be given to the program.
- Verbal communications at an introductory level by requiring each team to present their project and include the some grading of the quality of the presentation as part of the rubric with feedback on how to improve
CSC 110 Introduction to Computer Science: 2 hours
Description
- This course serves as an introduction to the Cyber Security majors. Topics include current issues in computer science and an introduction to logic and programming. LAB CSC 110L. Prerequisite: MATH 107 or Demonstrated Competency
CSC 113: Digital Citizen of the 21st Century: 3 hours
Description
The study of computing and the ways it shapes and influences 21st century citizens and society. Provides the basic understanding of computing capabilities and limitations for a more informed discussion of the issues. Covers foundational concepts of computing including technical skills (such as use of Linux) needed during the major, soft skills (including note taking and time management), architecture, O.S., programming languages, and ethics. Also will include guest speakers from industry and projects done by upperclassmen.
Goals for CSC 113 are:
- To prepare students to live in a very digital world.
- To introduce a number of fundamental concepts of computer science
- To prepare students to succeed academically
Course outcomes for CSC 113 are:
- Upon completion of CSC 113, students will:
- understand various ethical and cyber security issues in today\x92s digital world.
- understand the impact of technology on today\x92s work and the world\x92s impact on technology
- begin to develop technical writing skills by writing a 2-3 page technical paper and taking notes.
- have a fundamental understanding of the workings of a computer.
Program outcomes for CSC 113 are:
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Use technology to help bring Christ to the world and apply Christian principles to their work. (Computing student learning outcome 7)
- Understand and use appropriate cloud technologies in specified areas (Computing student learning outcome 8)
Integration
- Note taking at the introductory level by requiring students to take lectures notes.
- Technical writing at the introductory level by requiring written work to have section headers, decent size paragraphs, and giving feedback on transitions.
- Ethics at an introductory level by covering:
- digital divide
- ethics associated with AI
- Cybersecurity at the introductory level by covering:
- securing one's self in social media
- the fundamental concept of cyber security
CSC 121: Programming 1: Control Structures. 3 hours
Description
An introduction to computer application development using a high level, object oriented, GUI based language. Emphasis is on the use of problem solving methods, algorithms, control structures, documentation and debugging. Lab: CSC 121L. Prerequisites: CSC 102 or permission of the instructor
Goals for CSC 121 are:
Upon completion of the course, students will
- Be able to write small (two pages) programs independently of outside help
- Begin to develop technical writing skills
- Have developed simple habits of secure programming
Course outcomes for CSC 121 are:
Upon completion of CSC 121, students will know:
- how to write 2 - 3 page programs in a high level language
- how to document code and a program
- how to come up with a simple testing plan that includes input, output, and some error conditions
- how to work with a simple IDE to debug a program
Program outcomes for CSC 121 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Understand and use appropriate cloud technologies in specified areas (Computing student learning outcome 8)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- Self-learning at the introductory level by having some programming assignments that include using some simple features not covered in class (such as simple math function, formatting, string functions that are easy to understand and covered by the textbook)
- Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
- Technical writing at the introductory level by requiring students to understand and properly express a problem summary and requirements and the steps of a program and a complete (but somewhat informal) testing report.
- Professionalism at the introductory level by having students track how long it takes to write programs (so that they are better equip to estimate this in the future) and comment on what they learned and what they would want to to better with a program if they could.
- Cybersecurity at an introductory level by requiring students to document possible invalid input what happens for all programs. By the end of the semester, they should handle some of the invalid input (i.e. secure programming).
- Ethics at an introductory level by having at least two programs assigned that could have ethical implications and having the students discuss that in their reports.
CSC 210: Database: 3 hours
Description
A course introducing the student to the principles and practices of data base management and database design. Topics will include relational database design, normalization, SQL queries, reports and other interfaces to database data, and documentation, as well as ethical and privacy issues associated with database systems. Prerequisite: CSC 102, CSC 121, ITSC 121, or permission of the instructor.
Goals for CSC 210 are:
- Learn to write complex sql statements
- Learn to being to design tables
- Learn about ethical and cyber security issues associated with databases
Course outcomes for CSC 210 are:
- Upon completion of CSC 210, students will understand:
- how to write complex SQL queries
- how to design and implement quality databases
- security issues associated with database technologies
- ethical issues associated with database technologies
- improved testing techniques
Program outcomes for CSC 210 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Learn new areas of technology. (Computing student learning outcome 6)
- Use technology to help bring Christ to the world and apply Christian principles to their work. (Computing student learning outcome 7)
- Understand and use appropriate cloud technologies in specified areas (Computing student learning outcome 8)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- Self-learning at the introductory level by having the students learn a few sql functions on their own but having them part of the assignments. This could include formatting associated with dates, string functions, and dealing with nulls.
- Note taking at the introductory level by requiring students take class notes and listen and record given guidelines (that may or may not be on slides) for sql and ER diagramming.
- Professionalism at the introductory level by
- having students learn about the need for high quality work for table design
- having students learn to respect the knowledge of the domain expert when designing tables.
- not accepting any document/work that does not have a name on it
- Security at the introductory level by
- having students learn about only storing the data needed and nothing more
- having students learn about SQL injections.
- having students learn how to secure data via views, constraints, and permissions, and the weaknesses of each.
- Ethics at the introductory level by discussing the responsibilities that come from having access to a lot of data.
CSC 221: Programming 2: Design and Object-Oriented Programming 1: 3 hours
Description
Description
A continuation of Programming 1. Students learn to design more complex larger object-oriented programs. Also includes graphical, event, and concurrent programming.
Goals for CSC 221 are:
- Write non-trivial programs on their own
- Understand and use OO program concepts well
- Improve the security of their program
- Understand the basics of multi-threaded programming
Course outcomes for CSC 221 are:
- Upon complete of CSC 221, students will:
- be able to design and code complex multi-object programs.
- be able to develop graphics based interfaces for programs
- understand the fundamentals of event and concurrent programming.
- understand the fundamentals of additional programming tools and environments including source code version software
Program outcomes for CSC 221 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Function effectively as a member or leader of a team engaged in activities appropriate to the program\x92s discipline. (Computing student learning outcome 5)
- Learn new areas of technology. (Computing student learning outcome 6)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- Self-learning at the introductory level by having some programming assignments that include using some simple features not covered in class
- Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
- Technical writing at the application level by requiring students to do a formal software development report and requiring quality writing (and grading the quality of the writing), Also by the end of the semester by refusing to accept reports that don't meet a bare min. standard (such as standards, spell check, using bullet lists as appropriate.
- Team work at the introductory level by having at least two assignments where students are working in teams
- Professionalism at the introductory level by having students estimate how long it takes to write programs and then analyze their estimate based on how long it actually took. They will also comment on what they learned and what they would want to to better with a program if they could.
- Cybersecurity at an introductory level by requiring students to document possible invalid input what happens for all programs. By the end of the semester, they should handle some of the invalid input (i.e. secure programming).
- Ethics at an introductory level by having at least one program assigned that could have ethical implications and having the students discuss that in their reports.
CSC 230: Networking: 3 hours
Description
Introduction to design and performance evaluation of computer networks, including such topics as what protocols are, layered network architecture, internet protocol architecture, network applications, transport protocols, routing algorithms and protocols, internetworking, congestion control, and link layer protocols including Ethernet and wireless channels. Prerequisite: CSC 121 or ITSC 121
Goals for CSC 230 are:
1. To be determined
Course outcomes for CSC 230 are:
Program outcomes for CSC 230 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Function effectively as a member or leader of a team engaged in activities appropriate to the program\x92s discipline. (Computing student learning outcome 5)
- Learn new areas of technology. (Computing student learning outcome 6)
- Use technology to help bring Christ to the world and apply Christian principles to their work. (Computing student learning outcome 7)
- Understand and use appropriate cloud technologies in specified areas (Computing student learning outcome 8)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
To be determined
CSC 245 Computer and Systems Security. 3 hours
Description
- This course provides students with a comprehensive examination of computer and systems security. The course focuses on the knowledge and skills that are essential to effectively participate in risk mitigation work. Students will learn about operational and information security while learning how to apply security controls to ensure effective protection. Students will be asked to identify appropriate technologies and strategies within appropriate legal, organizational, and regulatory guidelines.
CSC 255 Principles of Cybersecurity. 3 hours
Description
This course introduces students to the best practices in Cyber Security and examines the security technologies and methodologies that are in the field. Students will encounter the various concepts involved in protecting information assets within computer networks. Students will learn about the various security models, approaches to risk assessment, threat analyses, security policy formation, and security implementation.
Notes: This course introduces students to the best practices in Cyber Security and examines the security technologies and methodologies that are in the field. Students will encounter the various concepts involved in protecting information assets within computer networks. Students will learn about the various security models, approaches to risk assessment, threat analyses, security policy formation, and security implementation.
CSC 260: Introduction to Self Directed Learning: 1 hour
Description
Description
The very dynamic nature of the field of computing requires specialized lifelong learning skills. Students will learn and experience how to be productive when learning about new technology on their own. This includes an understanding of the strengths and weaknesses of different types of resources, understanding of how to maximize the learning a given resource provides, and learning to create a plan for their own learning. The concurrent CSC 261 or CSC 263 course will be used as an example. Students will create a learning plan for CSC 463.
Goals for CSC 260 are:
- Teach students different skills for life long learning
- Prepare students to create an acceptable learning plan for 463
Course outcomes for CSC 260 are:
- Upon complete of CSC 260, students will:
- know how to choose the right resource for the learning objective
- know how to maximize the learning using a given resource
- have created a learning plan for CSC 463.
Program outcomes for CSC 260 are:
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Use technology to help bring Christ to the world and apply Christian principles to their work. (Computing student learning outcome 7)
Integration
- Self-learning at the application level by
- having discussions about how to get the most out of online lessons
- demonstrating how to establish education goals, outcomes, and tasks to learn specific tasks.
- Note taking at the application level by grading the notes students take while in class and grading the notes
- Professionalism at the application level by holding discussions different ways to learn and the advantages of each
CSC 261: Self-Directed Learning: Web Programming: 3
hours
Description
Students will use independent learning techniques combined with class discussions to learn to build websites. Co-requisite: CSC 260
Goals for CSC 261 are:
- Upon completion of this course students will:
- Be able to create web pages with HTML, CSS, JavaScript, and PHP
- Have developed skills in being a life long learner
Course outcomes for CSC 261 are:
- Upon complete of CSC 261, students will understand:
- how to build web sites uses HTML, CSS, JavaScript, and PHP
- security issues associated with websites
- ethical issues associated with websites
- how to structure their own self learning on future tasks.
Program outcomes for CSC 261 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Learn new areas of technology. (Computing student learning outcome 6)
- Understand and use appropriate cloud technologies in specified areas (Computing student learning outcome 8)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- Self-learning at the application level by
- having the technical material being covered by existing online lessons found in the ACM learning center and other professional sites
- having discussions about how to get the most out of online lessons
- demonstrating how to establish education goals, outcomes, and tasks to learn specific tasks.
- Note taking at the application level by grading the notes students take while working through online lessons
- Technical writing by requiring students to create at least one website covering a technical topic and grading it on the way it communicates the information
- Professionalism at the application level by holding discussions about the differences between building websites for oneself/friends (as a hobby) and doing it as a job.
- Security at the introductory level by covering at least two different security issues associated with website development
- Ethics at an introductory level by discussing the responsibilities of a website provider for the content of the material posted on the website.
- Verbal communications at the introductory level by requiring each student to make presentation (at least 5 minutes) discussing either what was learned in a lesson or presenting a website created by the student.
CSC 263: Self-Directed Learning: Introductory CS Topics: 3 hours
Description
An introductory topic of computer science is covered. Students learn via on-line lessons and class discussion. Co-Requisite: CSC 260
Goals for CSC 263 are:
- Upon completion of this course students will:
- Learn a new technology
- Have developed skills in being a life long learner
Course outcomes for CSC 263 are:
- Upon completion of CSC 263, students will understand:
- a specific topic in computing and the ethical and security issues associated with it
- how to structure their own self learning on future tasks.
Program outcomes for CSC 263 are:
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Learn new areas of technology. (Computing student learning outcome 6)
Integration
- Self-learning at the application level by
- having the technical material being covered by existing online lessons found in the ACM learning center and other professional sites
- having discussions about how to get the most out of online lessons
- demonstrating how to establish education goals, outcomes, and tasks to learn specific tasks.
- Note taking at the application level by grading the notes students take while working through online lessons
- Technical writing by requiring students to create at at least one document for their work and grading the manual on both content and writing ability.
- Professionalism at the application level appropriate to the topic
- Security at the application level appropriate to the topic
- Ethics at an introductory level by discussing TBD.
- Verbal communications at the introductory level by requiring each student to make a formal demonstration of their work
CSC 265 Management of Cybersecurity. 3 hours
Description
This course focuses on the administrative aspects of cyber security work. Particular focus is given to strategic planning and understanding of the policies and procedures for leadership with an organization. Students will learn about staffing procedures required for maintaining the ongoing security oversight in the organization. Prerequisite CSC 255
CSC 310: Advanced CS Topics: 3 hours
Description
An advanced cutting edge computer science topics such as Internet of Things and mobile computing will be covered. Topic to be determined by demand and the instructor. Can be taken up to 4 times as long as the content is different. Prerequisite: Permission of the instructor.
Goals for CSC 310 are:
- Learn a leading edge topic (typically cloud based)
- Implement a project associated with that technology
- Present the project
- Write a report about the project
Course outcomes for CSC 310 are:
- Upon completion of CSC 310, students will understand:
- a specific advanced topic in computing and the ethical and security issues associated with it
Program outcomes for CSC 310 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
Integration
- Self-learning at the application level by requiring students to learn one component of the topic on their own (with little assistance from the instructor)
- Note taking at that master level by
- not posting lecture slides,
- requiring students to track all requirements themselves
- having exam questions based on specifics in the lectures and presentations given by other students.
- Technical writing at the mastery level by requiring to write a technical report of a project for the class in a quality manner. Advanced discussion on things such as a theme, transitions, use of diagrams, focus, and other items should be covered in class and graded on.
- Security at an application level by covering at least two separate security issues associated with the topic of the course.
- Ethics at an application level by covering at least two separate ethical issues associated with the topic of the course.
- Verbal communications at the application level by requiring students to present their projects and/or supplementary material to the class.
CSC 312: Introduction to Cloud Computing: 3 hours
Description
A study of the fundamentals of cloud computing including PaaS, SaaS, and IaaS, Security and ethical issues directly associated with cloud computing are included. Students will gain experience in the cloud. Pre-requisite: CSC 121 or ITSC 121
Goals for CSC 312 are:
- To help students learn about IaaS, SaaS, and PaaS
- Equip students to do cloud computing
Course outcomes for CSC 312 are:
- Upon complete of CSC 312, students will:
- be able to articulate the following about cloud computing
- advantages
- components
- ethical issues
- security issues
- current advantages
- be able to use cloud functions to
- create/configure/use IaaS environments
- use SaaS including webservers and databases
- monitor cloud usage and functions
- use advanced features (such as AI/Big Data) in the cloud
- will be prepared to use the cloud in their future computing work.
Program outcomes for CSC 312 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Learn new areas of technology. (Computing student learning outcome 6)
- Understand and use appropriate cloud technologies in specified areas (Computing student learning outcome 8)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- Self learning by using existing online lessons to learn the details about a specific cloud provider and bring those lessons to the class
- Note taking by using notes taken from online lessons to produce reports while disconnected from the lessons
- Technical writing and presentations by creating reports and presenting work to the class
- Professional by doing assigned learning tasks in a timely manner
- Cybersecurity by studying different aspects of security in the cloud
- Ethics by writing a report about the ethical components of associated with one or more aspects of cloud computing
CSC 314: Introduction to Cloud Based Data Science and Machine Learning : 3 hours
Description
A study of the resources available to do data science and machine learning in the cloud. Includes an overview of the different aspects of data science and machine learning. Pre-requisite: CSC 221 and CSC 210. CSC 312 is recommended
Goals for CSC 314 are:
- Enable students to create systems that use cloud based resources to do data science and machine learning
- Equip students to understand the ethics associated with data science and machine learning and to make quality decisions about them.
Course outcomes for CSC 314 are:
- Upon completion of CSC 314, students will:
- have created two projects in the cloud of their choosing: one with data science and one with machine learning
- understand the fundamentals of data science and machine learning and the ethical issues associated with each.
Program outcomes for CSC 314 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Function effectively as a member or leader of a team engaged in activities appropriate to the program\x92s discipline. (Computing student learning outcome 5)
- Learn new areas of technology. (Computing student learning outcome 6)
- Use technology to help bring Christ to the world and apply Christian principles to their work. (Computing student learning outcome 7)
- Understand and use appropriate cloud technologies in specified areas (Computing student learning outcome 8)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- Self learning by using existing online lessons to learn the details about a specific AI or data science tool found in the cloud and using it to develop a proof of concept program.
- Note taking by using notes taken from online lessons to produce reports while disconnected from the lessons
- Technical writing and presentations by creating reports and presenting work to the class
- Professional by doing assigned learning tasks in a timely manner
- Ethics by writing a report about the ethical components of associated with one or more aspects of AI and data science in cloud computing
CSC 315 Principles of Cyber Defense. 3 hours
Description
This course examines the strategies and tactics employed by cyber security experts to protect networks, systems, applications, and data. Building from the foundations of CSC 245, this course focuses on the practices and strategies of active cyber defense. Prerequisite: CSC 255
CSC 322: Programing 3: Advanced Data Structures: 3 hours
Description
A continuation of Programming 2. Students will learn to design and use data structures including stacks, different types of queues, different types of trees, graphs, and other advanced data structures. Complex sorting routines and algorithm analysis will be covered. Pre-requisite: CSC 221.
Goals for CSC 322 are:
- Further develop programming skills
- Learn and use different data structures
- Enhance team development skills
Course outcomes for CSC 322 are:
Upon complete of CSC 322, students will:
- be able to appropriately use data structures found in a language\x92s API
- be able implement different data structures on their own
- be able to use complex and efficient sorting algorithms
- be able to do algorithm analysis
Program outcomes for CSC 322 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Learn new areas of technology. (Computing student learning outcome 6)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- Self learning by learning on additional data structure and developing a program using it.
- Technical writing by submitting high caliber software development reports
- Team skills by working on teams with at least two programs
- Professional by doing assigned learning tasks in a timely manner
- By implementing secure programming in each program and reporting on it and also existing security weaknesses.
- Ethics by writing a report about the ethical components of associated with two programs developed
CSC 335 Cybercrime, Law, and Ethics. 3 hours
Description
A study of the history of cybercrime and how it has affected various entities government, finance, retailers, and people. The course will cover ethical decision-making, cyber law, ethics, protection of financial and intellectual information and property, and potential ethical issues that cyber security leaders face. Prerequisite: CSC 110
CSC 340: Software Engineering: 3 hours
Description
Students learn about the details of leading software engineering methodologies and how to implement the associated techniques. Prerequisite: (CSC 121 or ITSC 121) and CSC 150.
Goals for CSC 340 are:
- Learn the fundamentals of software engineering
- Learn the fundamentals of Agile
- Practice the aspects of Agile and SE on a real campus project
- Work on a team
Course outcomes for CSC 340 are:
- Upon completion of CSC 340, students will understand:
- the techniques associated with current software engineering techniques (specifically Agile)
- how to practice such techniques
- the issues associated with communicating with a customer
- how to write quality artifacts for a project and present them
- how to refine their work
Program outcomes for CSC 340 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Function effectively as a member or leader of a team engaged in activities appropriate to the program\x92s discipline. (Computing student learning outcome 5)
- Learn new areas of technology. (Computing student learning outcome 6)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- Self learning at the introductory level by requiring students to learn at least one aspect of Agile programming on their own and use it during the semester.
- Note taking at the application level by requiring students to take quality notes from meetings and grading those notes
- Technical writing at the application level by quality artifacts and documentation to be in a final form
- Team work at the application level by
- requiring most (if not all) project work to be done in teams. Switching team members during the semester should be considered
- having the roles in the team chance throughout the semester
- Professional at the application level by requiring students to treat all team meetings in a professional context and preparing their work to be at the professional level instead of homework level.
- Security at the application level by requiring all work on software to include a section on the security issues
- Ethics at the application level by
- requiring all work on software to include a section on ethical issues
- covering cases of software failure and the ethics associated with that
- Verbal communication at the application level by requiring each team to make at least two presentations to the class.
CSC 345 Network Defense and Countermeasures. 3 hours
Description
The purpose of this course is to examine the strategies and tools to secure information within a network. The course blends technical and detailed examination of the tools and technologies used in the technical securing of information assets. This course is designed to provide in-depth information on the software and hardware components of Cybersecurity. Topics covered include: security, and specific implementation of security models and architectures. Prerequisite: CSC 315
CSC 355 Linux Operating Systems and Security. 3 hours
Description
Introduces the UNIX/Linux family of operating systems. Basic commands, utilities, system structures, scripting and tools are explored. Elements of system administration are presented. Focus is on utilizing the command line, installing, configuring, maintaining, and securing the Linux server system. Prerequisite: CSC 122 or ITSC 122
CSC 397 Cybersecurity Internship. Hours 1-3
Description
This supervised internship provides students with the opportunity to integrate classroom instruction with work in the cyber security field. Students will be required to document a minimum of 45 hours of internship engagement per credit hour and written reflection in the course
CSC 398: Internship : 1-3 hours
Description
Field experience in a selected area of interest, including on-the-job exposure and completion of a significant project. Prerequisite: CSC 150 and (CSC 121, ITSC 121 CSC 261, CSC 262, or CSC 263)
Goals for CSC 398 are:
- Experience the professional world
- Put their skills into practice
Course outcomes for CSC 398 are:
- Upon completion of CSC 398 students will understand:
- how to work in a professional environment
- how to write a quality technical document
Program outcomes for CSC 398 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Function effectively as a member or leader of a team engaged in activities appropriate to the program\x92s discipline. (Computing student learning outcome 5)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
Integration
to be determined
CSC 415 Penetration Testing. 3 hours
Description
This innovative course takes a hands-on approach to teaching, putting students in the role of potential hacker. Mock networks are constructed for students to attempt to hack in and obtain information. Students learn about the role of testing networks as cyber security leaders and what ethical hacking provides those entrusted with the defense against cyber attacks. Students who complete this course will be equipped with the knowledge necessary to analyze and evaluate systems security. Explore the use of intrusion detection/prevention technologies and information flow controls to protect networked systems. Prerequisite: CSC 345
CSC 420: Theory of Computation : 3 hours
Description
Covers the detailed comparative analysis of algorithms and their computational complexity. May also include formal language theory including finite automata, Turning machines, context-free grammars, and decidability. Prerequisite: MATH 210 and (CSC 122 or ITSC 122).
Goals for CSC 420 are:
- Experience the theoritical underpinnings of computing
- Understand proofs
- Understand automatas and grammars
- Understand Big-O
- Understand P/NP/etc.
Course outcomes for CSC 420 are:
- Upon completion of CSC 420 students will understand:
- the theory of computer science
- Big O notation
- N/NP problems
- how to deal with complex material
Program outcomes for CSC 420 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
Integration
To be determined
CSC 421: Programming 4: Advanced Programming: 3 hours
Description
A study of the characteristics of high quality programs and how to create them. Different design patterns are included. Pre-requisite: CSC 322
Goals for CSC 421 are:
- Students will start the transition from writing code that works to developing high caliber code.
- Students will further their understanding of abstraction through the use of patterns
- Students will further their understanding of design through learning to use different types of UML diagrams beyond just simple class diagrams
Course outcomes for CSC 421 are:
Upon complete of CSC 421, students will:
- be able to create a large program using advanced quality programming concepts
- be able to design complex testing and documentation of a program
- use proper methodologies when programming
- be able to identify and apply the appropriate techniques to a given problem.
Program outcomes for CSC 421 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Function effectively as a member or leader of a team engaged in activities appropriate to the program\x92s discipline. (Computing student learning outcome 5)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- Note taking at the application level. It is assumed that by this level students will be able to take quality notes in class. At least one assignment will have details only given in
- lecture requiring the students to take notes for any such assignment.
- Writing at the application level by requiring quality software development reports.
- Security at the intermediate level by covering and using non-trivial topics associated with secure programming in an object oriented environment
CSC 425 Network Forensics. 3 hours
Description
This course provides a detailed examination of techniques and tools used to investigate, search, collect, analyze, and report on network-based breaches and events. The course includes a strong emphasis on digital forensic procedures, digital forensic tools, and legal issues relating to digital forensics in a network environment. Specific topics include analysis of network traffic, communication artifacts, event logs, and potential malware. Prerequisite: CSC 345
CSC 435 Incident Response and Contingency Planning. 3 hours
Description
Emphasis will be given to developing and executing an overall plan to deal with incidents in the organization. Students will learn about incident responses activities and how to conduct thorough digital investigations. The course will also cover work that consists of the three most common areas of contingency planning incident response, disaster recovery, and continuity strategies
CSC 441: Software Engineering in Practice : 3 hours
Description
Students take was learned in CSC 340 and put it into practice while working on a team on a real life problem. Prerequisite: CSC 340
Goals for CSC 441 are:
- Put software engineering and Agile skills into practice in real problems for outside users
- Further develop team work
- Further develop communication skills
Course outcomes for CSC 441 are:
- Upon completion of CSC 441 students will understand:
- how to work with real customers
- how to work on a real project
- how to apply the software engineering techniques learned in CSC 340
- how to develop quality artifacts of a real project
- how to present their work to a real customer
Program outcomes for CSC 441 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Function effectively as a member or leader of a team engaged in activities appropriate to the program\x92s discipline. (Computing student learning outcome 5)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
To be determined
CSC 445 Advanced Cyber Defense. 3 hours
Description
This capstone course centers on the construction of an E-portfolio and in the participation of a series of live in-course simulations. The portfolio serves as a comprehensive demonstration of the learning that the student has achieved. The simulations serve as a comprehensive exam that proves the readiness level of the student to take on the responsibility of ensuring cyber security. Portfolio topics will include cyber security policy and practice, the protection of communication resources, intrusion detection systems, firewalls, and use of anti-virus, patching practices, as well as personnel and physical security practices.
CSC 450: Senior Project : 3 hours
Description
Students will showcase knowledge and skills by completing a project of their own design (approved by the department). Prerequisite: Permission of the instructor.
Goals for CSC 450 are:
- Upon completion of CSC 450 students will understand:
- how to define, research, and complete a complex project in computing
- how to write up their work in a technical document
- how to present their work
- how to identify security and ethical issues in a topic of their choosing
Course outcomes for CSC 450 are:
- Upon completion of CSC 450 students will understand:
- how to define, research, and complete a complex project in computing
- how to write up their work in a technical document
- how to present their work
- how to identify security and ethical issues in a topic of their choosing
Program outcomes for CSC 450 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Learn new areas of technology. (Computing student learning outcome 6)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
To be determined
CSC 463: Self-Directed Learning: Advanced CS Topics : 3 hours
Description
Students will pick one advanced cutting edge topic (typically an aspect of cloud computing, machine learning, big data, Internet of Things, or mobile computing), develop their own learning goals and strategies, get them approved and learn the material on their own and present their results in both a written and verbal format. Students will be required to develop a project to demonstrate what they have learned. Can be taken up to two times as long as the topic is different. Topics must also differ from those taken in CSC 310, CSC 312 and CSC 314.
Goals for CSC 463 are:
- Develop life long learning skills
Course outcomes for CSC 463 are:
- Upon complete of CSC 463 students will know:
- how to direct their own self learning for future tasks
- how to demonstrate the ideas they have learned
- how to identify security and ethical issues in a topic of their own choosing.
Program outcomes for CSC 463 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Learn new areas of technology. (Computing student learning outcome 6)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- Life long learning skills by learning a complete topic on their own
- Technical communication skills by making at least 2 verbal presentations (on recorded) and writing a significant report (10 pages) on what was learned
CSC 491: Senior Capstone: 3 hours
Description
Description: This is a capstone experience for all computing majors. It covers advanced principles of computing including optimization, parallelism, advanced architecture, and other fundamental topics not covered elsewhere in the curriculum. It also includes career skills. Students will present their work to their peers. Guest speakers may also present. Pre-requisite: Junior or Senior standing and at least nine hours of CSC courses.
Goals for CSC 491 are:
- Learn about issues that span computing
- Learn advanced CS topics
- Present own work
Course outcomes for CSC 491 are:
Upon completion of CSC 491, students will:
- be able to learn and present new complex computing material
- understand recurring themes in computing
- have been exposed to advanced issues in computing and understand the basics associated with them
Program outcomes for CSC 491 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Learn new areas of technology. (Computing student learning outcome 6)
- Use technology to help bring Christ to the world and apply Christian principles to their work. (Computing student learning outcome 7)
- Understand and use appropriate cloud technologies in specified areas (Computing student learning outcome 8)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- Life long learning by taking what was covered in class and expanding on it in more detail
Archived Courses
For 2022-2023 Catalog