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
Warning: Can't find topic CenterForComputing.CSC105ForSyllabus
CSC 112: Digital Citizen of the 21st Century: 2 hours.
Description
Study of computing and ways it shapes and influences 21st century citizens and society. Provides basic understanding of computing capability and limitations for more informed discussion of issues. Topics may include: news, entertainment, media, identity, communication, relationships, financial transactions, intellectual property, privacy, security.
Goals for CSC 112 are:
- To help the student become a responsible citizen in the areas of technology
- To give the students a basic understanding of the field of computing
Course outcomes for CSC 112 are:
Upon completion of CSC 112, Students will:
- understand various ethical issues in today's digital world
- understand various cyber security issues in today's world
- understand the impact of technology on today's world
- understand the world's impact on technology
- be able to write good 2-3 page paper
- be able to take complete lecture notes
Program outcomes for CSC 112 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)
- 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 introductory level by requiring students to take lectures notes. Should include posting videos of some class lectures so they can review their technique.
- 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
- ownership of digital material
- 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 122: Programming 2: Data Structures: 3 hours.
Description
A continuation of Programming 1. Students learn data structures including stacks, queues, trees, lists, graphs. Other data structures and sorting and searching are covered. Students learn both how to use the data structures via standard api's and how to implement them. 2 lectures and one lab per week. Lab: CSC 122. Prerequisite: CSC 121
Goals for CSC 122 are:
- Enhance the ability to program
- Understand different data structures
- Be able to use different data structures well
Course outcomes for CSC 122 are:
- Upon completion of CSC 122, students will know:
- how to use and build different data structures including stacks, queues, trees, graphs, and lists
- a number of different searches and sorts (including O(nlogn) sorts)
- how to identify Big-O for given algorithms
- how to completely document code and programs
- how to thoroughly test a program (including most error conditions)
- how to identify some potential security issues with code being developed
- the importance of designing before coding and practice it when warranted.
Program outcomes for CSC 122 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)
Integration
- Self-learning at the introductory level by having some programming assignments that include using some simple features not covered in class (such as using a pre-defined data type)
- 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 pairs with one developing the data structure and the other using it. Students need to take on both roles during the semester. Students also might have a third assignment where they are assigned one of the two roles and they have a partner that they don't know and must only communicate via the interface.
- 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 one program assigned that could have ethical implications and having the students discuss that in their reports.
CSC 150: Seminar 1: 0.5 hours
Description
Covers technical skills (such as use of Linux) needed during the major, soft skills (including note taking and time management), specific CS topics, architecture, o.s., programming languages, and ethics. Also will include guest speakers from industry and projects done by upperclassmen. To be taken twice.
Goals for CSC 150 are:
- Begin to prepare for career search
- Learn introductory level material
- Learn necessary technical skills (linux, windows, vi)
- Begin to experience independent learning
- Learn about the workforce
Course outcomes for CSC 150 are:
- Upon completion of CSC 150, students will understand:
- how to take quality lecture notes and respond intelligently to a talk
- different options in the curriculum available to them in the junior and senior years
- additional ethical issues
- additional security issues
- (depending on the semester)
- how to use Linux and vi
- how to use and program Windows server
- how to use other technologies as appropriate
Program outcomes for CSC 150 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)
- 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
- Note taking at the introductory level by requiring students to summarize what was said by the speakers with details not found in any posted slides
- Technical writing at the introductory level by requiring all writing to adhere to format standards
- Professional at the introductory level by having working professionals talk to the students about what it means to be a professional and by having inflexible deadlines.
- Cybersecurity at an introductory level by *. studying one current event associated with cybersecurity
- Ethics at an application level by *. studying one current event associated with computing ethics including the Christian perspective
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 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 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 262: Self-Directed Learning: System Administration: 3 hours
Description
Students learn the fundamentals of Linux and Windows Server Administration. On-line lessons will be used. In the lab, students learn how to structure self-learning. Corequisite: CSC 260
Goals for CSC 262 are:
- Upon completion of this course students will:
- Be able to configure linux and windows servers
- Have developed skills in being a life long learner
Course outcomes for CSC 262 are:
- Upon completion of CSC 262, students will understand:
- how to install and administer Linux systems
- how to install and administer Windows servers
- security issues with both systems
- how to structure their own self learning on future tasks.
Program outcomes for CSC 262 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)
- 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
- 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 user manual and grading the manual on both content and writing ability.
- Professionalism at the application level by holding discussions about the differences between maintain one's own (or friend's) systems and doing it as a profession and maintain many computers.
- Security at the application level by including modules on securing Windows servers and Linux boxes.
- 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 servers and grading not just the quality of the servers and what is installed but how well the presentation was organized.
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 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 321: Programming 3: Object Oriented Programming : 3 hours
Description
Advanced programming with a focus on the components of designing and developing quality object oriented programs. Prerequisite: CSC 122 or ITSC 122
Goals for CSC 321 are:
- For students:
- to be able to develop object oriented systems
- to become independent programmers
Course outcomes for CSC 321 are:
- Upon complete of CSC 321, students will understand:
- how to design and develop object-oriented programs of sufficient size
- how to complete test significant programs
- how to document programs
- how to estimate time needed to develop a program
Program outcomes for CSC 321 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)
- 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)
- 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 introductory level by covering topics associated with secure programming in an object oriented environment
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 350: Seminar 2: 0.5 hours
Description
Covers career searching, advanced CS topics including optimization, parallelism, and concurrency and recent topics of computing. Students will present their work to their peers. Guest speakers will also present. To be taken twice. Prerequisite: CSC 150.
Goals for CSC 350 are:
- Get an overview of advanced computing topics
- Further develop their career search skills
- Further develop their learning skills
Course outcomes for CSC 350 are:
- Upon completion of CSC 350, students will understand:
- how to prepare for entry into a career in computing
- how to take quality notes
- how to respond to a quality presentation
- how to make quality presentations
Program outcomes for CSC 350 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)
- 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)
- 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 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 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 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 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 490: Senior Capstone : 2 hours
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. Prerequisite: CSC 340 and one hour of CSC 150/350
Goals for CSC 490 are:
- Learn about issues that span computing
- Learn advanced CS topics
- Present own work
Course outcomes for CSC 490 are:
- Upon completion of CSC 490 students will understand:
- how to learn and present new material
- recurring themes in computing
Program outcomes for CSC 490 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
To be determined
CSC102ForSyllabus
CSC105ForSyllabus
CSC112ForSyllabus
CSC121ForSyllabus
CSC122ForSyllabus
CSC150ForSyllabus
CSC210ForSyllabus
CSC230ForSyllabus
CSC261ForSyllabus
CSC262ForSyllabus
CSC263ForSyllabus
CSC321ForSyllabus
CSC310ForSyllabus
CSC340ForSyllabus
CSC350ForSyllabus
CSC398ForSyllabus
CSC420ForSyllabus
CSC441ForSyllabus
CSC450ForSyllabus
CSC463ForSyllabus
CSC490ForSyllabus