Computer Science
Overview
Students study Computer Science as a field of research or they learn to use Computer Science to solve problems in many areas of human endeavor. New applications are always arising, and Computer Scientists continually develop new knowledge and tools to address applications. At New College we train Computer Science students in fundamental problem-solving skills, in the use of programming languages and other computer tools, and in communication and teamwork.
If you choose to concentrate in Computer Science at New College, you will work closely with faculty who have experience in the classroom and in industry to design a personalized plan of study that combines the fundamentals of computer science with advanced classes in the areas of artificial intelligence and data science, computer systems, theory and algorithms, human-computer interaction, game development, and networks. The program offers workshops, practical projects, research projects, and professional development, and will prepare you for graduate school or a career in software engineering. Professors advise students on the choice of electives to best prepare them for their chosen career path.
Faculty in Computer Science
Fahmida Hamid, Assistant Professor of Computer Science
David Gillman, Associate Professor of Computer Science
Daniel Page, Visiting Assistant Professor of Computer Science
Tania Roy, Associate Professor of Human Centered Computing
Gil Salu, Visiting Assistant Professor of Computer Science
Requirements for the AOC in Computer Science
A minimum of fourteen (14) academic units.
Code | Title |
---|---|
Core Requirements | |
CSCI 2200 | Introduction to Programming in Python |
or CSCI 2550 | Introduction to Programming in C |
or CSCI 2100 | Functional Programming in Haskell* |
CSCI 2400 | Object-Oriented Programming |
CSCI 2280 | Discrete Mathematics for Computer Science |
CSCI 3400 | Object Oriented Design |
CSCI 3160 | Data Structures |
CSCI 3200 | Algorithms |
CSCI 3570 | Software Engineering |
Advanced Electives 1 | |
Select one course in each of the following five categories: | |
Applications | |
Front-End Web Design and Development | |
Foundations of Human Centered Computing | |
Introduction to Augmented Reality | |
Computer Vision | |
Databases for Back-End Development | |
Mobile Application Development | |
Databases and Web Applications | |
Artificial Intelligence | |
Artificial Intelligence | |
Natural Language Processing | |
Machine Learning for Visual Thinkers* | |
Computer Systems | |
Introduction to Computer Systems, Architecture and Digital Hardware | |
Embedded Systems | |
Introduction to Virtual Reality Systems | |
Operating Systems | |
Programming Languages | |
Functional Programming in Haskell* | |
Functional Problem Solving with Scheme | |
Introduction to Programming in C | |
Intermediate Python | |
Embedded Systems in C++ | |
Theory | |
Theory of Computation | |
Distributed Computing | |
Cryptography and Data Privacy | |
Topics in Algorithms | |
Mathematics or Statistics Electives | |
Select two courses in either Mathematics or Statistics from the following examples: | |
Calculus I | |
Calculus II* | |
Calculus III | |
Dealing with Data I* | |
Dealing with Data II | |
Number Theory | |
Linear Algebra | |
Graph Theory* | |
Practical Capstone | |
Select a technical internship, a community software engineering project, or a Research Experiences for Undergraduates (REU) project | |
Thesis | |
Senior Thesis in Computer Science and Baccalaureate Exam |
- 1
An advanced elective is any non-core course with a programming prerequisite. For a course with no prerequisites, extra work may be required to count as an elective. A visual display of elective areas and courses can be found here.
Requirements for a Secondary Field in Computer Science
A minimum of five (5) academic units.
Code | Title |
---|---|
Core Requirements | |
CSCI 2200 | Introduction to Programming in Python |
or CSCI 2550 | Introduction to Programming in C |
or CSCI 2100 | Functional Programming in Haskell* |
CSCI 2400 | Object-Oriented Programming |
Electives | |
Select any three courses in computer science, with at least one of the courses being an intermediate course with a prerequisite 1 |
- 1
See courses listed under full AOC requirements for examples.
Computer Science Facilities
New College has a number of servers that support students and faculty in the Computer Science and Data Science programs. These include 5 HP physical servers with NVIDIA graphics processing units (Tesla, Titan X and 1080 Ti); 1 SuperMicro physical server with 4 NVIDIA graphics processing units (Quadro RTX 6000); 1 SuperMicro physical server with 4 NVIDIA graphics processing units (RTX A5000 and 1080 Ti); and 12 virtual servers used in a variety of computer science, data science, and statistics courses.
Representative Senior Theses in Computer Science
- Convo: An Android Application Aimed to Facilitate Social Connectedness on New College of Florida’s Campus
- Files in (Cyber) Space: Comparing the Security of BitTorrent with the Inter-Planetary File System
- BTS-Dash: A Multi-Platform Social Media Aggregator
- Information Asymmetry in the U.S. Healthcare Market and Applications of Data Collection Technologies
- Roots: A Subscription Platform for Digital Media
- Dance for the Soul: An AI Choreographer
- Using Sustainable Development to Mitigate and Respond to Climate Change: A Data Analysis of Climate Change in Taiwan Using R
- Using the Bloomberg Terminal to Evaluate Stock Market Trends: An Analysis of Historical EPS Forecast Accuracy for All Firms in the 2019 S&P 500 Index