CS 100 – Introduction to Computing
Introduction to basic concepts in computing including, but not limited to, the history of computing, basic hardware and software, command-line interfaces, version control, shell-scripting, programming languages, and the social impact of computing on society.
(Corequisite: CS 130).
CS 130 – Programming Fundamentals
Introduction to fundamental concepts of procedural programming; data types, control structures, functions, arrays, and files; the mechanics of running, testing, and debugging; problem solving techniques; multiple operating system environments; basic web
page development; introduction to the historical and social context of computing and an overview of computer science as a discipline.
CS 131 – The Object-Oriented Paradigm
Introduction to the concepts of object-oriented programming; definition and use of classes along with the fundamentals of object-oriented design; inheritance and polymorphism; overview of programming language principles; simple analysis of algorithms;
basic search and sorting techniques, and an introduction to software engineering issues; introduction to generic programming. (Prerequisite: CS 130.)
CS 215 – Data Structures
Algorithmic notation; algorithm design; elementary data structures and their storage representations; linear data structures and their sequential and linked representations; nonlinear data structures and their storage representations; memory management;
file processing; sorting and searching algorithms. (Prerequisites: CS 131, Math 120.)
CS 300 – Database Management Systems
Organization; independence of and relationships among database concepts; logical and data structure representation of hierarchical, network and relational data models; data normalizations; description languages, query facilities; file organization and
security; index organization. (Prerequisite: CS 215.)
CS 311 – Application Development in Visual Languages
Design of an effective application interface in visual environment; procedures, variables, and operations; projects, forms, and modules; data structures and control structures; data files and database management; input and output techniques; objects and
classes; ActiveX components, and web connections. (Prerequisite: CS 215.)
CS 330 – Algorithms
Algorithm design techniques, including backtracking, heuristics, recursion, and simulation; experimental and analytical determination of algorithm performance; applications of algorithm design to various areas of computer science, such as artificial intelligence
and systems programming. (Prerequisite: CS 215.)
CS 400 – Software Design and Development
Design techniques; formal models of structured programming; organization and management; estimating program libraries; documentation; organization of a large-scale project by students. (Prerequisite: CS 215.)
CS 430 – Machine Learning
This course introduces you to various machine learning models. You will learn the fundamental concepts behind these models as well as a formal understanding of how, why, and when they work. Along the way, you will learn about data visualization, data
preparation, model implementation (supervised and unsupervised), and model evaluation. (Prerequisite: CS 215 or permission of instructor)
CS 444 – Internship
The intern is provided with work experience and training to gain an understanding of the uses of the computer in an outside setting. (Prerequisite: junior or senior standing in computer science.)
CS 450 – Capstone
A capstone course for majors in computer engineering and computer science. Satisfactory completion of a major design and development project with both a written report and an oral presentation are required. Includes a comprehensive exam in computer engineering
or computer science as appropriate. (Prerequisite: CS 215 and Senior standing in the CE/CS/SDE program)
MATH 120 – Discrete Mathematics
An introduction to topics involving discrete sets of objects. These include number systems, sets and their operations, propositional logic, quantification, algorithms, functions, recursion, relations, and graph theory. The course contains an introduction
to proof methodology, including mathematical induction, based on the preceding topics. This course makes extensive use of the computer for exploration and discovery of the concepts. (Prerequisite: MATH 116 (precalculus) or its equivalent.)
PHIL 434 – Technology, Ethics, and Society
This course will examine, from various philosophical perspectives, numerous ethical, social, and legal issues raised by current and evolving technologies, both in terms of how these technologies test the limits of our existing legal & ethical frameworks,
and how our existing legal & ethical frameworks reveal the appropriate aims or limits of these technologies. Topics covered include data privacy & surveillance, online speech & moral responsibility, intellectual property, and the putative
obligation to control technology. (This course is being developed by Dr. David Scott from the Bellarmine University Philosophy Department).
THEO 200 – Ultimate Questions
An investigation of the fundamental questions of human meaning and of the nature of religious experience as response to such questioning. The course provides an introduction to religious experience, to theological terms, concepts, and methods, and to
the ways that ultimate questions are dealt with in a religious context, with specific focus on the basic themes in Christianity. This course also provides an encounter with Thomas Merton's writings and his response to ultimate questions.