Computer Science
The mission of the CSN Computer Science Department is to support and inspire students to incorporate computer science concepts and skills into all of their studies. The faculty members strive to aid students to become informed and proficient users of current technology. Courses are intended to teach students the fundamentals of computer science and the basic technological skills necessary to succeed in their current and future endeavors as students and professionals. All courses highlight computational thinking and analytical problem-solving methods that can be applied to a wide range of areas. Advanced courses provide students with opportunities for further studies in computer science and its applications in mathematics, engineering, programming, and the creative exploration of digital media.
Computer Science
AP Computer Science Principles
AP Computer Science Principles introduces students to the essential ideas of computer science with a focus on how computing can impact the world. Along with the fundamentals of computing, students will learn to analyze data, information, or knowledge represented for computational use; create technology that has a practical impact; and gain a broader understanding of how computer science impacts people and society.
AP Computer Science A
AP Computer Science A is equivalent to a first-semester, college- level course in computer science. The course introduces students to computer science with fundamental topics that include problem solving, design strategies and methodologies, organization of data (data structures), approaches to processing data (algorithms), analysis of potential solutions, and the ethical and social implications of computing. The course emphasizes both object-oriented and imperative problem solving and design using Java language. These techniques represent proven approaches for developing solutions that can scale up from small, simple problems to large, complex problems. Prerequisite: AP Computer Science Principles and/or teacher recommendation.
Advanced Topics in Data Structures & Algorithms
This college level course is an introduction to the fundamental data structures for information processing, including lists, stacks, queues, trees, and graphs. The course explores the implementation of these data structures (both array-based and linked representations) and examines classic algorithms that use these structures for tasks such as sorting, searching, and text compression. We start with a Python Crash Course as it is the language used in this class. One Semester. Offered alternate years. Prerequisite: AP Computer Science A and teacher recommendation.
Advanced Topics in AI & Machine Learning
This course provides a broad introduction to Artificial Intelligence and Machine Learning. Machine learning uses interdisciplinary techniques such as statistics, linear algebra, optimization, and computer science in getting computers to make predictions or decisions without being explicitly programmed. We will learn the concepts behind several machine learning algorithms and gain practical experience applying them. The course will consist of a combination of lectures, assignments, and a final project. One Semester. Offered alternate years. Prerequisite: AP Computer Science A and teacher recommendation.
Advanced Topics in Web App Development I
This is a college level course in computer science designed to teach students front end web development. Students will create a portfolio of projects while learning HTML, CSS, JavaScript, DOM scripting, use of APIs, and JavaScript frameworks for client-side web development. Students will begin to compete in hackathons One Semester. Offered alternate years. Prerequisite: AP Computer Science A and teacher recommendation.
Advanced Topics in Web App Development II
This is a college level course in computer science designed to teach students the server-side of full-stack web application development using a common industry JavaScript framework. Students will learn database scripting, how to create REST APIs. Students will compete in hackathons. One Semester. Offered alternate years. Prerequisite: AP Computer Science A and teacher recommendation.
Competitive Robotics Honors
The Robotics Programming and Design course introduces students to the engineering process as they explore current and future applications of robotic technology. In a collaborative team setting, students learn to design and build with the VEX® Robotics Design System to compete in exciting, real-world challenges. Students gain experience programming with RobotC. Prerequisite: teacher recommendation & some programming or robotics background preferred
Augmented Reality Filter Design
Art and Design takes place increasingly in the digital realm. In this class, students will learn a design tool used by professional influencers that will make their Instagram posts pop. Students will learn to use the Spark AR studio software to import and use sound files, images, and 3D objects to create Augmented Reality video filters. Spark AR’s drag and drop visual scripting language is so easy to use that one might forget this is a computer science class. Students will publish their filters to Instagram for use in their own feeds or to share with other creators. One Semester
Hacking Physical Objects
In this class students will learn to modify and enhance their physical environment using Arduinos and/or Raspberry Pi’s. Students will make projects such as an automated pet feeder, an intruder alarm, or a retro gaming console. Students will learn the basics of circuitry, coding, and tools such as 3D printers, laser cutters, and power tools. Students will learn to develop their creations through an iterative design process. One Semester
Principle Courses
Principles of Engineering
Have you ever wanted to create a toy or a device to help people? Learn approaches to creative thinking and problem solving through designing and building mechanical systems! Principles of Engineering provides students opportunities to apply the design process to creatively solve problems or invent. Students work in teams to identify design requirements, research the topic (e.g. a new toy), fabricate and test the device, and make necessary modifications to optimize the design solution. Students learn how to utilize the engineering design process, an engineering notebook, and programming software. One Quarter
Principles of Entrepruenership
Interested in inventing a product or starting a business? You will create a product, market it, and manage the revenue. Specific events would include MIT’s LaunchX, the Inventor’s Fair, and the FGCU Entrepreneurship competition. One Quarter
Principles of Mobile App Development
In this class students will learn to develop apps for iOS and Android phones using Thunkable, a visual, block-based programming environment. Students will learn some of the fundamental concepts of programming, variables, loops, conditions, and events, while working with images, sounds, and videos. Students will learn how to use APIs to enhance the functionality of their apps by connecting to web services like Instagram, Google, or Spotify. Students will learn to design user interfaces and to develop their apps through an iterative design process. One Quarter
Principles of Virtual Reality Game Development
In this class students will learn to create Virtual Reality (VR) and Augmented Reality (AR) games in CoSpaces, a block-based programming environment. Students with prior programming experience will extend their skills using the JavaScript programming language. All students will learn some of the fundamental concepts of programming, variables, loops, conditions, and events, while working with 3D assets, sounds, and physics. Students will learn to develop their games through an iterative design process while testing their creations on their smart phones using Google Cardboard (VR) and Merge Cube (AR). One Quarter