海角社区

Prepare for high-tech, high-demand careers.

Artificial intelligence. Machine learning. Big data. Information security. In today’s fast-paced, ever-connected world, computer science majors have more opportunities than ever before.

At 海角社区, you’ll develop skills and knowledge that you can take into industries of all kinds, from healthcare and biotech to entertainment and finance. And you’ll do it on a campus known for small classes, close faculty mentorship, and countless real-world learning opportunities.

JCU won’t only prepare you for the technical aspects of working in the computer science field – our liberal arts curriculum will develop you into a well-rounded, ethical professional who will be ready to adapt to emerging technology and best practices of tomorrow.

Hands-on Experience

At 海角社区, you learn by doing. Work on a real-world software development project for a partner client. Participate in regional and national competitions. Attend academic and industry conferences.

Immersive Internships

Gain professional experience and make career connections. Cleveland is home to hundreds of tech firms and innovative companies where you can develop (quite literally) your skills and talents.

Program Overview & Outcomes

As a computer science major at John Carroll, you will learn critical skills in programming and software development and be prepared to understand and develop new technologies. In addition to your core classes, you can specialize in areas that interest you most through electives. 

Computer science majors will: 

  • Learn specific programming languages like Java, Python, and SQL
  • Develop foundational skills that will allow you to learn other programming languages quickly on the job
  • Master the many elements of software development
  • Practice technical writing proficiency 
  • Discover how to apply your skills and knowledge to different industries and business problems 

Throughout your four years in the program, you’ll have opportunities to test these skills in labs, projects, research, internships, and even competitions. 

You'll develop strong programming skills and theoretical knowledge in computer science. The program covers programming fundamentals, data structures, software engineering, operating systems, and database systems, preparing you for careers in technology and graduate study.

  • Major Required Courses

    Sci: Problem Solving With Programming

    3 Credits

    CS1280

    Introduction to computer science fundamentals, with focus on problem solving using high-level programming language. Topics include algorithm design, number representation, data types, expressions, control structures (sequential, conditional, iterative), functions, arrays, and strings. Suitable for students with no prior background in computing. Corequisite: CS 1281. Offered: Fall, Spring.

    Cs1281

    CS1281

    Programming laboratory intended to provide hands-on experience in applying the programming concepts learned in CS 1280. Experience in learning the process of program development, with emphasis on techniques for testing and debugging. Corequisite: CS 1280. Offered: Fall, Spring

    Introduction To Object-Oriented Programming

    3 Credits

    CS1290

    Continuation of CS 1280 emphasizing the benefits of object-oriented languages: modularity, adaptability, and extensibility. Object-oriented programming concepts include objects, classes, methods, constructors, message passing, interfaces, inheritance, and polymorphism. Note: A grade of C- or higher in CS 1290 is required to register for any course that has CS 1290 as a prerequisite. Prerequisite: CS 128 or 1280. Corequisite: CS 1291. Offered: Fall, Spring.

    Cs1291

    CS1291

    Object-Oriented programming laboratory intended to provide hands-on experience in applying the programming concepts learned in CS 1290. Corequisite: CS 1290. Offered: Fall, Spring.

    Cs2290

    CS2290

    Introductory overview of data structures and algorithms, highlighting the connection between algorithms and programming. Topics include algorithm complexity, generic programming, linked lists, stacks, queues, recursion, trees, searching and sorting. Prerequisite: CS 129 or 1290 (min grade C-).

    Cs2500

    CS2500

    This course focuses on modern computer system design. Topics covered include: processor and instruction set design; addressing; control structures and microprogramming; memory management, caches, memory hierarchy; interrupts; I/O structures and buses. Prerequisites: MT 142 or 1420; and CS 128 or 1280.

    Cs3100

    CS3100

    This course will help students to better understand Unix-like operating system services such as input/output and system calls. The operating system provides an established, convenient, and efficient interface between user programs and the bare hardware of the computer on which it runs. Students will work on Linux systems and use the programming language C to develop system programs in the Unix/Linux environment. No C programming skills are required, but proficiency in at least one high-level programming language, such as Java, is expected. Prerequisite: CS 2500.

    Cs3290

    CS3290

    Covers the basic concepts of algorithmic design and analysis. Topics include asymptotic notation, searching and sorting algorithms, and NP-complete problems. Explores the different types of algorithm design paradigms like brute force, greedy algorithms, divide and conquer, and dynamic programming. Prerequisite: CS 229 or 2290.

    Cs3380

    CS3380

    This course explains how programming languages are implemented and provides a comparative study of programming paradigms, including structured programming, object-oriented programming, functional programming, and logic programming. The course covers the principles of lexical and semantics analysis and explores programming constructs, including data types, control structures, subprograms and parameter passing, nesting and scope, derived data types, input and output, and dynamically varying structures. Prerequisite: CS 229 or 2290.

    Cs3710

    CS3710

    This course will introduce the basic concepts, principles, and techniques in software engineering. Topics include comparison between structured and object-oriented software development, verification and testing, software design patterns, UML diagrams, etc. Within a hands-on, project-oriented context, students will develop an understanding of the software process/product and basic techniques for software development, including analysis, design, construction, testing, and maintenance. Prerequisite: CS 2290.

    Cs4350

    CS4350

    OSI modeling for networking with an emphasis on how vulnerabilities at each layer of the network stack could be exploited; ethical concerns in cybersecurity and modern methods used to secure networks against attack. Creation of a secure application that communicates over the internet. Prerequisites: CS 3100.

    Cs4710

    CS4710

    Simulation of the environment of the professional software developer working in a team on a large software project for a real client or for an open-source community. Development teams will make widespread use of previously learned tools and techniques. Student developers will use their skills, ingenuity, and research abilities to address various issues and deliver a working, useful system. Traditional or Agile development methodologies. To be taken during the student's final year. Prerequisites: CS 3710; and permission of the Department Chair. Corequisite: CS 4750.

    Cs4750

    CS4750

    Written communication related to computer science emphasizing clear, concise expression of technical information. Exploration of several types of CS writing, including users’ guides, help pages, tutorials, mainstream articles, and technical papers. Prerequisite: EN 125 or EN1250 or equivalent. Corequisite: CS 4700.

  • Support Courses

    Mt1420

    MT1420

    Mathematical foundations of computer science. Number representation and computation; fundamental topics in set theory, functions, relations, graph theory, and propositional logic. Applications to computer science may include encryption, hashing, spanning trees, and traversals.Offered: Fall, Spring.

    Data1500

    DATA1500

    Relational database design and implementation, structure query language (SQL), entity relationship (ER) modeling, and database normalization. This course was formerly offered as CS 150. Offered: Fall, Spring.

Where Our Alumni Go

JCU computer science majors find success in a variety of tech-focused roles in industries of all kinds, from healthcare to entertainment. They also start companies of their own or pursue graduate degrees in related fields.

Cleveland Clinic
Keybank
Sherwin Williams Logo

Saved Programs

Saved Undergraduate Programs

Saved Graduate Programs

No programs saved yet.