B.S. Computer Science
Credit Hours
Max Transfer Credit
Class Type
100% online, 6 & 12-week courses
Next Start Date
Jun 27, 2022
Cost Per Credit
Curriculum Alignment

Computer Science Bachelor's Degree Program

What do creative thinking, problem solving, competitive salaries and a high-demand field have in common? They're all just a few of the many things a bachelor's degree in computer science has going for it. With the transfer-friendly Computer Science degree program at Franklin, you'll be well-prepared to investigate, assess, design and collaborate on the creation of technology-based solutions that literally change how business is done.

Program Availability

On Site

Language-Independent Curriculum

Acquire the foundation that'll keep you relevant through technology changes.

Hands-On Assignments

Team with peers on cutting-edge software development projects.

Innovative Curriculum

Learn from the program developed under international curricular guidelines.

Accredited Online University

Nearly 80% of our students take online courses.

Real-World Practitioners

Learn from experienced technology leaders.

100% Online Classes

Earn your degree around your schedule.

Computer Science Degree Overview

Power business with robust and scalable software solutions

The allure of a top salary in a high-demand field is one thing a degree in computer science has going for it -- but it’s far from the only. With Franklin's online Computer Science bachelor's degree program, you’ll be solidly grounded in software development, building skills that prepare you to readily adapt to an ever-changing environment throughout your career.

Our program is language independent; meaning you’ll learn widely used languages and build industrial and reusable software components with cutting-edge Java technology. The development knowledge you gain won’t become obsolete. As a result, you’ll be well prepared to not only apply, but also shape and influence dynamic and emerging technologies.

Franklin’s Computer Science courses include the development of significant, high-level technical skills, giving you the opportunity to achieve software development capabilities while you receive your foundational education in these key areas: Object-Oriented Design, Computer Architecture, Coding & Testing, Web Application Development, and Database Management.

Engineer your own robust, interactive applications

Coursework at Franklin is very practical and hands-on, so you’ll team with other students on cutting-edge software development projects that simulate a real-world industrial environment. Franklin’s Computer Science curriculum is designed so each class provides a logical progression, giving you the opportunity to assume roles of increasing responsibility as you move toward completing your computer science degree.

At Franklin, you’ll have the opportunity to work on pivotal projects, like creating database-driven web applications with interactive AJAX components. Along the way, you’ll gain exposure to Java, C, Scheme, and Prolog programming languages, as well as popular client/server development technologies like JSP, XHTML, and XML.

Learn from the real-world experiences of high-level professionals

Taught by real-world computer professionals and practitioners, our Computer Science program faculty currently work in the field or have held high-level industry positions. And because Franklin’s online Computer Science bachelor's program is strongly rooted in the ACM/IEEE-CS Joint Task Force on Computing Curricula, you’ll learn under the international curricular guidelines for undergraduate programs in computing.

In addition, you’ll have the opportunity to build a professional network through collaborative coursework and our student chapter of the Association for Computing Machinery (ACM) Committee on Women in Computing (ACM-W).

Earn your B.S. in Computer Science online or on campus from a university built for busy adults

Earn your degree on your terms by taking classes 100% online or pursue available coursework at our Main Campus. Regionally accredited and nonprofit, Franklin was built from the ground-up to satisfy the needs of adult learners. Our seamless transfer process and team of academic advisors will help ease your transition to becoming a student, while our flexible course schedules help to balance your education with work, family, and life. Get started on your future today.

Read more >


B.S. Computer Science Graduate

"I truly enjoyed my classes at Franklin. My professors actually worked in the field and could help me understand the reasons and benefits to different programming and database situations. The things they brought from the real world helped make my job easier."

Computer Science Courses & Curriculum

124 Semester Hours
Fundamental General Education
English Composition
ENG 120 - College Writing (4)

In this course, students acquire the writing competence necessary for conducting and presenting research. A variety of assignments, beginning with personal reflections, build upon one another, as students develop ideas that respond to, critique, and synthesize the positions of others. Students systematize and organize knowledge in ways that will help them in all of their courses. The course also emphasizes the elements of good writing style, appropriate grammar and mechanics, clarity of language, and logical and cohesive development. It culminates in submission of a documented research paper.

MATH 160 - College Algebra (4)

This course is designed to prepare students for Applied Calculus and Discrete Mathematics and to provide the mathematical background needed for the analytic reasoning used in other courses. Topics include functions and their graphs, including exponential and logarithmic functions; complex numbers; systems of equations and inequalities; matrices; basic principles of counting and probability; and other selected topics.

Choose MATH 150 Fundamental Algebra as the prerequisite. Course can count as a University elective.

Social and Behavioral Sciences

6 credits from the following types of courses:
Choose from the Anthropology, Geography, History, Political Science, Psychology, or Sociology disciplines.


6 credits from the following types of courses:
Two courses from the Science discipline. One course must have a lab component.

Arts & Humanities
HUMN 211 - Intro to Ethical Analysis & Reasoning (2)

The goal of this course is to help you improve your ethical analysis and reasoning skills. You will be introduced to the art of formulating and assessing ethical arguments according to the standards of logical thinking and critical analysis. In this course, you will discover how to apply the following questions to your job and everyday life. Why do we need ethics if we have laws to govern our behavior? Does the majority view determine what is ethical and what is not? Are feelings, desires, and preferences reliable ethical guides? Is it ever appropriate to criticize another individual's (or culture's) ethical judgment? Are people always responsible for their actions? Do human beings have a natural tendency to good, a natural tendency to evil? both? neither? Is there a single moral code that is binding on all people, at all times, and in all places?

4 credits from the following types of courses:
Choose from the Art, English Literature, Fine Arts, Humanities, Music, Philosophy, Religion or Theater disciplines.

Additional General Education
PF 121 - Basic Learning Strategies (2)

This course introduces students to the Franklin University community and provides strategies for successful transition to and participation in that community. Topics include University resources and procedures, strategies for advancing communication skills, the use of electronic tools to participate in virtual environments, and the development of an academic and career plan.

OR PF 321 - Learning Strategies (2)

This course prepares students to be successful lifelong learners both academically and in their chosen careers. Franklin courses require a high level of self-directed learning and focus on skills required in the workplace and the classroom that are easily transferable between the two environments. The course includes strategies for advancing communication skills, including the use of electronic tools to participate in virtual environments. The assignments and activities in the course are created to closely simulate teamwork found in the workplace.

COMM 150 - Interpersonal Communication (4)

By using applied critical and creative thinking, students in this course will develop a set of communication skills that will enhance their personal and professional relationships and endeavors. This course will focus on skill development in key areas such as self, perception, listening, verbal messages, conversations, relationships, conflict management, persuasion, and public speaking.

OR SPCH 100 - Speech Communication (4)

This public-speaking course emphasizes the fundamentals of extemporaneous speaking. Skill-building activities and assignments focus on research, organization, reasoning, style and delivery of presentations as well as listening and audience engagement.

ENG 220 - Research Writing: Exploring Professional Identities (4)

This is an intermediate course focusing on the composition of research papers. Students in this course prepare to be active participants in professional discourse communities by examining and practicing the writing conventions associated with their own fields of study and work. By calling attention to the conventions of disciplinary writing, the course also prepares students for upper-division college writing and the special conventions of advanced academic discourse. Course activities include three extended research papers, semi-formal writing addressing interdisciplinary communication, and readings fostering critical engagement with disciplinary conversations.

MATH 280 - Intro to Probability & Statistics (4)

This course is designed to serve students in the Computer and Information Sciences majors. The topics covered are descriptive statistics in numerical & graphical methods, probability concepts, discrete and continuous probability distributions, estimation theory, hypothesis testing, simple linear regression and correlation, and linear programming. These topics will be taught with a rigorous Algebra content and using a statistical software such as Minitab.

Professional Core
COMP 111 - Introduction to Computer Science & Object-Oriented Programming (4)

This course provides an introduction to software construction using an object-oriented approach. The student learns and reflects on problem analysis, object-oriented design, implementation, and testing. To support the concepts and principles of software construction, the student will design, code, test, debug, and document programs using the Java programming language. Basic data types, control structures, methods, and classes are used as the building blocks for reusable software components. Automated unit testing, programming style, and industrial practice are emphasized in addition to the object-oriented techniques of abstraction, encapsulation, and composition.

COMP 121 - Object-Oriented Data Structures & Algorithms I (4)

This course continues the object-oriented approach to software construction. The student learns and reflects on advanced object-oriented techniques, algorithm efficiency, class hierarchies, and data structures. To support the concepts and principles of software construction, the student will design, code, test, debug, and document programs using the Java programming language. Design principles, I/O, exception handling, linear data structures (lists, stacks, and queues), and design patterns are emphasized in addition to the object-oriented techniques of inheritance and polymorphism.

COMP 201 - Principles of Computer Organization (2)

This course is one of four courses that holistically explore the structure of computational systems. This course deals with the nature of computer hardware. The course will cover the structure of current computer systems at the level of functional organization, representation of data and programs, the design of the memory hierarchy, and the design of the I/O system. The course will introduce basic assembly language.

COMP 204 - Principles of Computer Networks (2)

This course serves as an introduction to the function, design, administration, and implementation of computer networks. Topics include network infrastructure, architecture, protocols, applications, and the OSI networking model.

COMP 215 - Programming Language: Principles & Practice (4)

This course conveys a high-level vision of programming language theory. It begins with the principles and methodologies of computer programming language such as syntax, semantics, grammar, and parsing. An assortment of programming paradigms is introduced to cover both the traditional imperative and some alternative approaches to program development. These paradigms are presented by the rudiments of a number of representative languages.

COMP 281 - Database Management Systems (4)

This course covers fundamental concepts necessary for the design, use, implementation and administration of database systems. The course will stress the fundamentals of database modeling and design, the languages and facilities provided by database management systems, and some techniques for implementing and administering database systems.

COMP 294 - Computer Science Practucim I (2)

This is the first practicum course in the Computer Science program. It provides experience in an on-going software development project. A student at this level will be given an assignment in a team similar to that of a new hire in industry. The software development project will require the student to apply industry best practices in completing an assignment for the project.

ISEC 200 - Cyber Security Fundamentals (2)

The Internet has changed dramatically; so have the activities that are dependent on it in some shape or form. Understanding the need for security, it's influence on people, businesses and society, as well as business drivers is critical. The course also covers malicious attacks, threats and vulnerabilities common to the world of security, as well as access controls, and methods to assess and respond to risks. Hands-on labs accompany the various concepts that are taught.

Major Area Required
COMP 311 - Object-Oriented Data Structures & Algorithms II (4)

This course is the third of four courses using the object-oriented approach to software construction. The student learns and reflects on non-linear data structures, recursive algorithms, algorithm efficiency, and design patterns. To support the concepts and principles of software construction, the student will design, code, test, debug, and document programs using the Java programming language. Implementation and analysis of sets, maps, balanced binary search trees, heaps, hashing and hash tables, graphs and graph algorithms, and efficient sorting algorithms are addressed.

COMP 321 - Application Server Programming (4)

This course provides an introduction to server-based programming using an object-oriented approach. The student learns and reflects on two- and three-tier software architectures, separation of responsibility, design patterns, and web frameworks. To support the concepts and principles of server-based software construction, the student will design, code, test, debug, and document programs using the Java programming language. Swing-based GUI clients, XHTML clients, XML, JDBC, Java Server Pages and Java Servlets, are used as the implementation mechanisms for Model 1 and Model 2 Web architectures.

COMP 323 - Fundamentals of Operating Systems (4)

This course introduces the major topics of operating systems such as file systems, IO, virtual memory, and scheduling. The application of operating systems is shown in mobile and personal devices as well as in servers and large scale processing systems. In addition, the student is given an introduction to multi-process and threaded applications and the resultant need to apply synchronization to avoid deadlock.

COMP 394 - Computer Science Practicum II (2)

This is the second practicum course in the Computer Science program. It provides experience in an on-going software development project. A student at this level will be given an assignment in a team similar to that of an experienced team member or as a team leader in industry. The software development project will require the student to apply industry best practices in completing an assignment for the project.

COMP 495 - Computer Science Practicum Iii/Capstone (4)

This is the third practicum course in the Computer Science program. It, like the first two practicum experiences, is an on-going software development project. A student at this level will be given an assignment at the most senior level, requiring planning and overall coordination tasks. Design tasks of extreme complication are also candidates for these students. In addition to the project work, the student will be given introspective assignments to help crystallize his or her overall experience of the program.

MATH 320 - Discrete Mathematics (4)

This course introduces students to fundamental algebraic, logical and combinational concepts in mathematics that are needed in upper division computer science courses. Topics include logic; sets, mappings, and relations; elementary counting principles; proof techniques with emphasis on mathematical induction; graphs and directed graphs; Boolean algebras; recursion; and applications to computer science. Please note: A book fee will be included in your tuition charges for required course materials.

Major Electives

At least 16 credits from the following courses:

COMP 325 - Human-Computer Interaction (4)

This course covers a broad range of important topics within human computer interaction (HCI) and its implications for the design of interactive systems. By understanding the user?s viewpoint and technology?s effect on people, we can better plan for the selection, design, implementation, and use of technology so that the effects are positive rather than negative. The focus is on the design of interactive systems and human-computer interfaces. The course will cover the current literature and the knowns and unknowns about HCI and design. The design process is centered on the user and is based on a multidisciplinary approach through a synthesis of computer science, cognitive science, and psychology. HCI designers also use analytical and empirical techniques to assess, predict, and evaluate whether a design meets user requirements.

COMP 461 - Enterprise Software Architecture (4)

This course reinforces and extends client-server programming concepts to enterprise applications. It introduces Enterprise Java Bean technologies such as JNDI, EJBs and EJB Containers. It explores the current use of XML and XSLT for data representation and communication. The course studies the application of patterns in the design of enterprise architectures. Finally, the course introduces emerging topics related to Web enterprise applications.

COMP 471 - Software Testing (4)

In this course we will review the traditional software testing techniques that are applicable to any software product, as well as learn techniques for the paradigm of test-driven development. Continuous delivery and its impact on testing will be discussed. We will also discover how innovative companies are able to build testing and quality into every stage of the development process and deliver a multitude of releases with a relatively small testing organization. We will practice test creation and testing techniques through assignments, individual and group projects. Concepts covered include test cycles; testing objectives; testing in the software development process; types of software errors; reporting and analyzing software errors; problem tracking systems; test case design; testing tools; test planning; test documentation; managing a test group; test-driven development principles; continuous delivery principles and their impact on testing.

COMP 480 - Special Topics in Computer Science (1-4)

A variable content classroom course in Computer Science in which students pursue topics or subjects of current interest that are not part of the regular curriculum. A specific course description will be published online in the Course Schedule for the trimester the course is offered.

COMP 486 - Object-Oriented Analysis & Design (4)

This course studies the process of designing software systems both from the view of process and from the view of requirements, analysis and the synthesis of a viable software design. It builds on the concepts from the programming sequence to examine the aspects of good design practice.

DATA 300 - Introduction to Analytics (4)

This course introduces the fundamentals of Business and Data Analytics. Students will learn the fundamentals of business problem framing, data wrangling, descriptive and inferential statistics, data visualization, and data storytelling in analytics. Not open to students with credit for INFA 300.

DATA 310 - Data Visualization (4)

This course introduces data visualization fundamentals using the leading visualization tools in the industry and focuses on project-based learning. Students will learn how to develop dashboards and discover insight effectively based on data. Not open to students with credit for INFA 350.

DATA 400 - Principles of Machine Learning (4)

Students will learn the basic concepts behind major machine learning algorithms, the essential steps for creating a typical machine learning model, the strengths and weaknesses of different algorithms, and the model evaluation using different performance metrics. Eventually students will be able to build a prediction model by machine learning algorithm using Python language. The differences between Java and Python will be reviewed. The common problems in practical machine learning exercises and their solutions also will be discussed.

ISEC 300 - Information Assurance (4)

In a highly connected, data intensive, and cost-focused business environment, the practice of information security not a business advantage; it is a customer requirement. Viruses, malware, trojans, denial of service attacks, phishing, and even Wiki leaks have become headline news. Failure to insure the confidentiality, integrity, and availability of data costs companies millions, if not billions of dollars in legal settlements, lost business, and trade secrets. In this breadth-based course, you will get an overview of information security principles and practices, including security models, risk management, access controls, intrusion detection and prevention, cryptography, software vulnerabilities, and ethical issues. Subsequent courses expand on this foundational material in much greater depth.

ISEC 400 - Software Development Security (4)

Software vulnerabilities, especially those that compromise personal or financial data, are appallingly common. Nearly every major software company has needed to deal with the fallout of a major incident due to vulnerabilities in their products. Writing correct - let alone secure - software is very difficult. Yet users and executives expect it. In this course, you will learn about the typical development mistakes that lead to application-level security issues as well as how to defend against them. Students will explore the Open Web Application Security Project (OWASP) top 10 security vulnerabilities. Topics include unchecked user input, injection, fuzzing, CSRF, XSS, cryptography, CAPTCHA, configuration errors, authentication, and authorization.

MIS 310 - Info Systems Architecture & Technology (4)

This course provides a conceptual survey of general systems theory followed by a conceptual and technological survey of the structure of distributed information systems architectures, operating systems, network operating systems, peripheral technology and user interfaces. Interoperability between these architectural components will be explored and current technology and trends in each architectural element will be reviewed. This course will de-emphasize, although not ignore, mainframe architectures in favor of information architectures more applicable to client/server computing. The various interacting categories of client/server computing as well as the benefits and implications of such a system will be fully explored.

WEBD 325 - Mobile Programming (4)

This course covers the fundamentals of mobile app programming for mobile devices, including smartphones and tablets as well as providing a survey of current mobile platforms, mobile application development environments, and mobile device input and output methods. Students will design and build a variety of Apps throughout the course to reinforce learning and to develop real competency.

University Electives

22 credits from the following types of courses:
Any undergraduate courses offered by the University except developmental education courses.

Additional Requirements

All students are required to pass College Writing (ENG 120), and either Basic Learning Strategies (PF 121) or Learning Strategies (PF 321) prior to enrolling in any course at the 200 level or above. Students who enroll at Franklin with 30 or fewer hours of transfer credit are required to pass PF 121 Basic Learning Strategies in place of PF 321 Learning Strategies. Interpersonal Communication (COMM 150) or Speech Communication (SPCH 100) must be taken prior to enrolling in any course at the 300 level or above. Students must also meet the University algebra competency requirement.

Computer Science Bachelor's Requirements & Outcomes

Request Free Information!

Want to learn more about Franklin University? Complete the simple form - it just takes a minute!

  • Invest in yourself by finishing your degree.

  • Take classes online, on campus, or both.

  • Finish faster. Save more. Franklin fits your life.

  • Top employers hire Franklin grads to provide relevant industry knowledge.

Request Information

In submitting my contact information, I understand that I will receive phone calls, text messages and email about attending Franklin University. I may opt out of these communications at any time.

Your privacy is important to us. Privacy Policy

Computer Science Jobs & Opportunities

Computer Programmer

Computer Programmers create and code software programs and websites, providing computer users with functional or entertaining ways to use, archive, and search documents, data, and information.

Database Administrator

Database Administrators create solutions for computer-based data storage, retrieval, management, tracking, and manipulation.

Enterprise Systems Developer

Enterprise Systems Developers create technologically based ways of creating, improving, and maintaining computer systems and applications.

Software Architect

Software Architects collaborate in the creation and evolution of computer programs by providing software developers with platform, coding, and technical requirements.

Software Engineer

Software Engineers determine user needs and functionality requirements in order to design, develop, test, and deploy software systems.

Systems Analyst

Systems Analysts investigate business problems and propose technology-based solutions, software and systems, ensuring that business standards and requirements are me

Web Application Developer

Web Application Developers use programming and scripting languages to translate business initiatives into online campaigns in the creation of applications and dynamic internet content.

Computer Science Employment Outlook


From 2021-2031, jobs in Computer Science are expected to increase by 13%

All Occupations

5,400,282 jobs
6,080,567 jobs
Show Details >

Computer and Information Systems Managers

493,607 jobs
549,484 jobs

Medical Dosimetrists, Medical Records Specialists, and Health Technologists and Technicians, All Other

337,182 jobs
371,327 jobs

Software Developers and Software Quality Assurance Analysts and Testers

1,600,098 jobs
1,924,125 jobs

Computer User Support Specialists

699,494 jobs
769,787 jobs

Source information provided by Economic Modeling Specialists International (EMSI).

Computer Science Knowledge & Skillsets

Gain in-demand skills sought by employers with curriculum that teaches you:

Computer Science Bachelor's Frequently Asked Questions

Back to College Blog

Related Programs