An American university in the heart of Rome
An American university in the heart of Rome
COMPUTER SCIENCE AT JCU
COMPUTER SCIENCE AT JOHN CABOT UNIVERSITY
COMPUTER SCIENCE
COURSE CATALOG
Introduction to Computer Science - CS 101
This course offers an overview and an introduction to the capabilities and limitations of computing and digital multimedia; the theoretical foundations of computing that drive future computing and technological advancements; computer software including operating system and application software; fundamentals of computer networks and the Internet; networks types and standard protocols; cloud computing; next generation Internet or "Internet of the things"; additive manufacturing and 3D printers for business; business intelligence, data analysis, digital contact with customers; privacy and personal data protection on the Internet; “Cyber war,” computer risk, and security concerns.
Computer Office Applications - CS 110
This course helps students develop the advanced skills that are necessary in personal productivity office applications, such as word processing, data management and analysis, and presentation/slide design. The course follows best practices and reviews available internet tools for data storage.
Web Design I - CS 130
The premise of this course is that a web site differs from a traditional media publication because its contents can be updated at any moment, many possibilities exist for making it interactive, and reader attention span is short. The course provides students with technical knowledge and skills required to build a web site, while covering design, communication, and computer-human interaction issues. Topics include web history, HTML, style sheets, and effective information searching. As a final project, students create a web site on a liberal arts topic, which will be judged by the instructor and a reader specialized in the chosen topic.
Web Design II - CS 131 (Prerequisite: CS 130)
The course provides students with the technical knowledge required to deal with the professional process of designing, developing, installing and maintaining a business web site.
Programming Concepts and Applications - CS 160
This course introduces fundamental computer programming concepts using a high-level language and a modern development environment. Programming skills include sequential, selection, and repetition control structures, functions, input and output, primitive data types, basic data structures including arrays and pointers, objects, and classes. Software engineering skills include problem solving, program design, and debugging practices. The goal of this course is to advance students’ computational thinking, educate them to use programs as tools in their own field of study, and to provide them with fundamental knowledge of programming strategies.
Discrete Structures - CS 200 (Prerequisites: Placement into MA 197 or completion of MA 100 or MA 101)
This course introduces the main elements of formal reasoning and its applications to the theory of computation. Starting from the definition of logic statements and elementary structures in discrete mathematics, such as numbers, sets, and graphs, the course discusses the formalization of real-life problems in mathematical and computer science terms. Mathematical tools will be introduced to infer the validity of complex statements starting from elementary ones and different techniques for deriving formal proofs of theorems will be analyzed. Examples of algorithmic solutions to real-life problems exploiting their formalization will also be presented and discussed, both in terms of correctness and efficiency.
Introduction to Artificial Intelligence Concepts - CS 202 (Recommended: CS 101)
This course is designed for the general student to provide an INTRODUCTORY overview of artificial intelligence (no computer programming skills are necessary). This course will discuss intelligent agents and the building blocks of artificial intelligence: knowledge bases, reasoning systems, problem solving, heuristic search, machine learning, and planning.
Introduction to Data Science and Machine Learning - CS 212 (Prerequisites: CS 160, MA 100/101)
This course introduces students to the main concepts of data science, focusing on the practical application of machine learning and deep learning models for classification and prediction. The course explores the statistical foundations, computational techniques, and ethical considerations essential for building and deploying effective AI solutions. Through a project-based learning approach, students will gain hands-on experience applying data science methodologies to real-world problems. Using open, pre-existing datasets, they will learn to formulate, execute, and evaluate data science projects. Topics covered include descriptive statistics, elementary probability theory, basics of linear algebra; supervised and unsupervised learning, parametric and nonparametric decision-making; AI bias, fairness and accountability.
Introduction to Infographics - CS 230 (Recommended: CS 110)
This introductory course provides an overview for visual representation of data. It is designed to cover the differences between infographics and visualization. Through both theory and applied practice the course covers specifics related to basic graphic design, online publishing, and corporate communication as it relates to large amounts of data and visually representing data in creative and meaningful ways.
Artificial Intelligence Concepts - CS/PS 302 (Prerequisite: One previous course in Computer Science)
This course is designed for the general student to provide a more in depth study of artificial intelligence (no computer programming skills are necessary). This course will discuss intelligent agents and the building blocks of artificial intelligence: knowledge bases, reasoning systems, problem solving, heuristic search, machine learning, and planning.
Database and Web Programming - CS 320 (Prerequisite: CS 160)
This course provides an introduction to the principles and practices of database management and web programming. Students will first learn how to design relational database schemas that support efficient storage and retrieval of data. They will then be introduced to basic elements of computer networks that allow for client-server communication over the Internet. Based on these two building blocks, the course will discuss how to implement a relational database into a dynamic Web application using Python, a modern programming language that is popular in the industry.
Algorithms and Data Structures - CS 330 (Prerequisites: One previous course in Computer Science)
This course covers the main principles of algorithm design, introducing fundamental data structures and basic algorithmic techniques. It also discusses how to perform an analysis of algorithms, to establish their correctness and evaluate their efficiency. The emphasis is on choosing appropriate data structures and designing correct and efficient algorithms to operate on them, following standard algorithmic techniques. Principles of complexity theory and challenges arising in modern application domains are also investigated.
Intelligent Systems - CS 340 (Pre-requisites: CS 160 and one of CS 200 or MA 208. Recommended: CS 330)
This course introduces students to the theory and practice of intelligent systems. It covers both historical and modern approaches to Artificial Intelligence, with hands-on experience in coding intelligent behaviours and integrating AI models into software projects. Special emphasis is placed on critical thinking, creative applications, and the effective use of modern AI-assisted coding tools.