Information and Computer Sciences
Degrees and Certificates
-
Information Security Specialist, Certificate of Competence -
Web Support, Certificate of Competence
Classes
ICS 100: Computing Literacy and Applications
Fundamental information technology concepts and computing terminology, productivity software for problem solving, computer technology trends and impact on individuals and society. Emphasizes the utilization of operating systems and the production of professional documents, spreadsheets, presentations, databases, and web pages.
Credit in both ENG 22 or ENG 23 and MATH 22, 24, 25, 26, 28, 29, 75X or higher.
- Utilize the basic features of computer applications to communicate effectively (major content area).
- Utilize operating system interfaces to manage computing resources effectively and securely.
- Utilize online resources for research and communication.
- Define, explain, and demonstrate proper computing terminology usage in areas such as hardware, software, and communications.
- Describe ethical and security issues involved in the use of computing technology.
ICS 101: Digital Tools for the Information World
Fundamental information technology concepts and computing terminology, productivity software for problem solving, computer technology trends and impact on individuals and society. Emphasizes the utilization of operating systems and the production of professional documents, spreadsheets, presentations, databases, and web pages.
- Utilize the appropriate computing applications to produce professional documents, spreadsheets, presentations, databases, and webpages for effective communication (major content area).
- Utilize operating system interfaces to manage computing resources effectively and securely.
- Extract and synthesize information from available Internet resources using intelligent search and discrimination.
- Define, explain, and demonstrate proper computing terminology usage in areas such as hardware, software, and communications to effectively interact with other computer users and to prepare for higher-level computer courses.
- Describe ethical issues involved in the use of computer technology.
ICS 105: Introduction to Computing Skills
In this introductory computing course, students will learn basic file management, digital communication, word processing, and presentation software. Students will explore various computing systems and terminology. This course is recommended for students inexperienced in computing.
- Use appropriate computing tools to communicate effectively.
- Demonstrate basic file management tasks.
- Identify computing terminology, systems, and issues.
ICS 107: Web Site Development
An introduction to the concepts and skills for developing websites from planning through publishing. Design, usability, accessibility, markup and styling language, and integrating media will be emphasized. Web development software utilized.
Intermediate computing skills including file management and common computing skills: cut, copy, paste, open/save files, web search.
- Demonstrate the website development cycle.
- Use appropriate web development software to create an effective website that communicates a message, incorporates appropriate media, and adheres to usability and accessibility standards.
- Describe ethical issues involved in the development and use of websites.
ICS 111: Introduction to Computer Science I
Intended for computer science majors and all others interested in a first course in programming. An overview of the fundamentals of computer science emphasizing problem solving, algorithm development, implementation, and debugging/testing using an object-oriented programming language.
MATH 103 with a grade of “C” or better, placement into MATH 135, or consent of instructor.
- Use an appropriate programming environment to design, code, compile, run, and debug computer programs.
- Demonstrate basic problem solving skills: analyzing problems, modeling a problem as a system of objects, creating algorithms, and implementing models and algorithms in an object-oriented computing language.
- Illustrate basic programming concepts such as program flow and syntax of a high-level general purpose language and basic security practices.
- Demonstrate working with primitive data types, strings, and arrays.
ICS 119: Introduction to Social Media
This computing course explores the foundations of building a presence on the Web, developing an entity’s brand and creating a social channel to share ideas, expertise and business philosophies. Topics covered: choosing a domain name, securing a content hosting service, initiating content creation, and constructing a social web channel.
Write well-formed sentences and organized paragraphs using proper grammar and correct spelling. Have computing skills including file management, uploading/ downloading files and Internet search skills.
- Use the appropriate social media tools to create an online identity.
- Create content that uniquely represents an entity’s image.
- Plan and implement a social media campaign and analyze its effectiveness.
- Analyze the ethical roles and responsibilities of a content creator.
ICS 121: Computing Topics
This course covers current computing topics. The course is designed to have variable credits to coincide with the rigor of the topic. Maybe repeated up to 6 credits with different topics. A course description will be on record to designate the various topics for a student’s transcript.
TBA based on course topic.
- Produce a final project to demonstrate knowledge of the computer topic.
ICS 123: Introduction to Digital Audio and Video Production
This is an introductory course covering concepts and skills of working with digital audio and video including recording, editing and publishing online.
Intermediate computing skills including file management and common computing skill including cut, copy, paste, open/save files, web search and ability to independently access technical support through online forums.
- Record, edit and produce digital audio.
- Produce a digital video project to communicate an effective message.
- Define audio and video terminology and ethical practices as they apply to the use of digital media.
ICS 129: Introduction to Databases
This course covers the fundamental concepts in database technology, including storage structures, access methods, recovery, concurrency, and integrity. The relational model and its implementation will be covered in depth together with an overview of SQL and its role in application development. The course will also present an overview of database administration, including modeling and design activities. A substantial part of the course involves the development of an understanding of database concepts.
- Define common database terminology.
- Create Entity Relationship Diagrams (ERD).
- Design and create a relational database using the normalization process.
- Use Structured Query Language (SQL) to manipulate data.
- Follow best practices in secure database design.
ICS 141: Discrete Mathematics for Computer Science I
This course covers logic, sets, functions, matrices, algorithmic concepts, mathematical reasoning, recursion, counting techniques, and probability theory.
Grade of “C” or better in MATH 103 or placement into MATH 135 or higher, or consent of instructor.
- Analyze issues and apply mathematical problem solving skills to plan courses of action in decision-making situations.
- Solve problems by using basic mathematical formal logic, proofs, recursion, analysis of algorithms, sets, combinatorics, relations, functions, matrices and probability.
ICS 171: Introduction to Computer Security
Examines the essentials of computer security, including risk management, the use of encryption, activity monitoring, intrusion detection; and the creation and implementation of security policies and procedures to aid in security administration.
ICS 184 with a C or better, or concurrent enrollment, or consent of the instructor.
- List the first principles of security and describe why each principle is important to security and its relationship to the development of security mechanisms and security policies.
- Describe why good human machine interfaces are important to system use, the interaction between security and system usability and the importance for minimizing the effects of security mechanisms.
- Analyze common security failures and identify specific design principles that have been violated, and the needed design principle, when given a specific scenario.
- List the fundamental concepts of the Information Assurance/ Cyber Defense discipline and describe how they can be used to provide system security.
- Identify the elements of a cryptographic system and describe the differences between symmetric and asymmetric algorithms, which cryptographic protocols, tools and techniques are appropriate for a given situation, and implementation issues.
ICS 184: Introduction to Networking
This course provides the student with the knowledge and skills to manage, maintain, troubleshoot, install, operate and configure basic network infrastructure, as well as to describe networking technologies, basic design principles, and adhere to wiring standards and use testing tools. The course also introduces the student to network security concepts.
- Manage networking projects as part of a team.
- Discuss information security technologies such as cryptography, digital signatures, key management, and authentication as they relate to computer networks.
- Describe the fundamental concepts, technologies, components, terminology, protocols, standards organizations, and business, legal, ethical, and security issues related to communications and data networks.
- Describe a basic secure network architecture in accordance with current best practices given a specific need and set of hosts/clients.
- Use current network tools to monitor, map and troubleshoot a network and to track and identify packets.
ICS 193V: Cooperative Education/Internship/Practicum
Cooperative program between the student, an employer, and the College that integrates classroom learning with supervised practical experience. Reflects the student’s major interest area and availability of job assignments. Offers the opportunity to develop workplace employability skills dependent on job assignments and course of study.
Various as determined by the particular course of study and placement of the cooperative education/internship practicum in the sequence of courses.
- Complete computer assignments in a job that is cooperatively supervised by the employer and College.
- Demonstrate the skills in the above assignments to both the College and the employer.
ICS 203: Digital Image Editing
Introduction to the terminology, tools, features and techniques of digital image editing.
Intermediate Computing Skills which include the following: File management File Compression Upload/ download files Internet search skills Troubleshooting skills
- Use photographic practices and concepts to demonstrate the merits of digital photography.
- Implement skills for digital image capture and manipulation with a variety output formats and input devices.
- Apply the visual elements of line, shape, value, color, texture, space, time and motion as well as the design principles of balance, rhythm, emphasis, contrast, variation and unity in the creation of digital art works.
- Complete the creative process from concept development through revisions to final output using problem-solving strategies.
ICS 207: Building Web Applications
Web Applications introduces programming for the web. Topics include: problem solving; web interactivity for websites; building applications with web authoring languages for markup, styling and scripting; presenting applications for mobile devices.
Students must have HTML and CSS experience.
- Programming with javascript
- Utilizing javascript with HTML and CSS to create a web application.
- Using events to trigger an action
- Drawing on the web canvas
- Using video and audio files on a web page
- Going beyond standard fonts
- Detecting the screen size of a device and optimize the application for the different sizes
- Using local storage to remember data across web sessions.
ICS 211: Introduction to Computer Science II
Reinforce and strengthen problem-solving skills using abstract data types and introduce software development practices. Emphasize the use of searching and sorting algorithms and their complexity, recursion, object-oriented programming, and data structures.
A grade of “C” or better in ICS 111 or consent of instructor.
- Use and implement abstract data types such as lists, stacks, queues, and trees.
- Select the appropriate searching or sorting algorithm based on the algorithm’s behavior.
- Develop recursive algorithms and programs.
- Use standard libraries or packages as well as advanced object-oriented programming techniques (polymorphism, inheritance, and encapsulation).
- Produce robust and secure programs using exception handling and extensive program testing.
ICS 212: Program Structure
Program organization paradigms, programming environments, implementation of a module from specifications, the C and C++ programming languages.
Grade of “C” or better in ICS 211 or consent of instructor.
- Use an editor, make file, and compiler in the UNIX environment.
- Use recursion, arrays, pointers, character variables, bitwise operators, structures, and linked data structures in C.
- Use classes (constructors, destructor, and overloading assignment), operator overloading, inheritance, and polymorphism in C++.
- Use linked data structures and recursion in C++.
- Use standard C++ strings and C++ STL library data structures, such as STL lists.
ICS 215: Introduction to Scripting
Introduction to scripting languages for the integration of applications and systems. Scripting in operating systems, web pages, server-side application integration, regular expressions, event handling, input validation, selection, repetition, and parameter passing for languages such as Perl, JavaScript, PHP, Python, and/ or shell scripting.
Grade of “C” or better in ICS 211 or consent of instructor.
- Use regular expressions to solve different problems.
- Produce robust client and server side scripts in a variety of scripting languages using software engineering techniques such as review and extensive program testing.
- Handle user and system generated events using various scripting languages.
- Validate user input using various scripting languages for security purposes.
ICS 240: Operating Systems
This course introduces students to various aspects of Operating Systems. This course examines and explores the structure, basic functionality, administration, troubleshooting, and installation of operating systems and related applications. Advanced topics include scripting, operating system security, maintenance and services.
Grade of C or better in ICS 111.
- Install and maintain an operating system and essential system services.
- Describe the core components within operating system.
- Demonstrate proper use of common operating system commands.
- Write simple shell scripts to perform different tasks.
ICS 241: Discrete Mathematics for Computer Science II
Includes program correctness, recurrence relations and their solutions, divide and conquer relations, graph theory, trees and their applications, Boolean algebra, introduction to formal languages and automata theory.
Grade of “C” or better in ICS 141 or consent of instructor.
- Analyze issues and apply more complex mathematical problem solving skills to plan courses of actions in high-level decision-making situations.
- Utilize such tools as graphs, trees, boolean algebra, and recurrence relations.
- Explain discrete math concepts such as formal languages, finite-state machines, and program correctness.
ICS 281: Ethical Hacking
This course covers basic ethical hacking techniques also known as white hat hacking. It stresses the moral and legal issues about hacking and how these techniques can be used to defend against attacks as well as to perform authorized system security evaluation testing.
Grade of C or better in ICS 171, or consent of instructor.
- Demonstrate how to apply current cyber-attack, countermeasures and best practices using current cyber defense tools, methods and components.
- Implement a defense incident response and recovery strategies.
- Evaluate the moral and legal obligations of an ethical hacker.
- Apply the knowledge gained in hardening systems to prevent or minimize attacks.
ICS 282: Computer Forensics
This course covers basic computer forensics including operating system diagnostics, the use of forensic toolkits to examine and validate computer activity and techniques for the proper collection, examination and preservation of forensic evidence.
Grade of C or better in ICS 171, or consent of instructor.
- Discuss the rules, laws, policies, and procedures that affect digital forensics.
- Demonstrate the proper use of one or more common digital forensics tools.
- Describe the steps in performing digital forensics from the initial recognition of an incident through the steps of evidence gathering, preservation and analysis, through the completion of legal proceedings.