B.S. Computer Science
124
Credit Hours
76%
Max Transfer Credit
Class Type
100% online, 6 & 12-week courses
Curriculum Alignment
ACM/IEEE-CS

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.

Finish Faster

Transfer up to 94 previously earned college credits.

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. 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 >

DJ

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."

Future Start Date

Start dates for individual programs may vary and are subject to change. Please request free information & speak with an admission advisor for the latest program start dates.

Spring 2024
April
1
Recommended Register By:
Mar 22
Summer 2024
May
20
Recommended Register By:
May 10
Summer 2024
July
1
Recommended Register By:
Jun 21
Fall 2024
August
19
Recommended Register By:
Aug 9
Fall 2024
September
30
Recommended Register By:
Sep 20
Fall 2024
November
11
Recommended Register By:
Nov 1
Spring 2025
January
6
Recommended Register By:
Dec 27
Spring 2025
February
17
Recommended Register By:
Feb 7
Spring 2025
March
31
Recommended Register By:
Mar 21

Your Best Value B.S. Computer Science

Choose Franklin's B.S. Computer Science and get a high-quality degree that fits your life and budget.     

Keep the Credit You've Earned

53
AVG TRANSFER HOURS

On average, students transfer in 40% of the credits required.

Transfer MORE Credits, Pay LESS tuition*

$11,940
|
$28,258
Max Transfer Credits
Avg Transfer Credits
*$398 per credit, 124 Total Credits, 94 maximum transfer credits, 53 average transfer credits.

Partner? Pay Less.


Search below to see if you could save tuition through an employer or professional 
organization partnership.

$49,352
Total Tuition
(After Partner Discount)

Tuition Guarantee

Inflation-proof your degree cost by locking-in your tuition rate from day one through graduation.

×

Computer Science Courses & Curriculum

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

In this course, students acquire the writing competencies necessary for completing analytical and argumentative papers supported by secondary 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 their courses. The course also emphasizes the elements of critical reading, effective writing style, appropriate grammar and mechanics, clarity of language, and logical and cohesive development. It culminates in submission of an extended, documented research paper.

Mathematics
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. Note, this course has proctored exam(s).

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.

Science

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 - Introduction to Critical Ethics (2)

Critical Ethics uses critical thinking to get around the limitations of personal belief and indoctrination to get to what ought to be done and why to improve the human condition. Accordingly, the goal of this course is to help the student improve his/her ethical analysis and evaluation skills to help the student do the thing that must be done, when it ought to be done, using critical thinking.

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 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 the skills required in the workplace and the classroom that are easily transferrable between the two environments. The course includes strategies for time management, goal setting, reading comprehension, and advancing communication skills, including the use of electronic tools to participate in virtual environments.

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 the 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.

SPCH 100 - Speech Communication (4)

This basic public-speaking course intends to improve the student's ability to think critically and to communicate orally. Theory and practice are provided in various speaking situations. Each student is required to speak before an audience, but class work also involves reading, gathering and organizing information, writing, and listening.

OR 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 presentation skills.

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 215 - Statistical Concepts (4)

This course introduces you to statistics with applications to various areas. The course covers both descriptive and inferential statistics. Topics included are: sampling techniques, data types, experiments; measures of central tendency, measures of dispersion, graphical displays of data, basic probability concepts, binomial and normal probability distributions, sampling distributions and Central Limit Theorem; confidence intervals, hypothesis tests of a mean, or a proportion for one or two populations, and linear regression.

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 201 - Principles of Computer Organization (2)

This course is the first 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 281 - Database Management Systems (4)

This course, Database Management Systems, covers the 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 Practicum 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, and so have the activities that are dependent on it in some shape or form. Understanding the need for security, its influence on people, businesses and society, as well as business drivers, are 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.

COMP 101 - Problem Solving With Computing (2)

Many organizations today utilize computers and information systems to store, organize, analyze, and summarize data to solve problems. As a result, computing is a tool that can benefit students in many different fields. At the heart of solving problems with computers is the study of structured thinking using algorithms. This course is designed for students with no prior programming experience and teaches the building blocks of algorithms, including variables, expressions, selection and repetition structures, functions and parameters, and array processing.

CLOUD 200 - Cloud Fundamentals (2)

This course explores the concepts of cloud computing, including financial impacts and business value, financial requirements, deployment, risks, and security. Hands-on exercises help students to gain experience with cloud computing environments, identifying technical and security requirements for given deployment scenarios, implementing the proposed cloud deployment scenario, and troubleshooting technical issues of existing cloud computing scenarios.

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

This course continues the objected-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.

OR COMP 511 - Foundation Data Struc & Obj Orntd Design (4)

This course continues the object-oriented approach to intermediate-level software development. The student will learn and reflect on fundamental object-oriented analysis techniques, basic design patterns, and linear data structures such as lists and queues.

Major Area Required
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, and design patterns. In order 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. HTML/CSS/XML, JDBC, Java Server Pages, and Java Servlets are used as the implementation mechanisms for Model 1 and Model 2 web applications.

COMP 323 - Fundamentals of Operating Systems (4)

TThis course introduces the major topics of computer operating systems such as processes, threads, synchronization and inter-process communication, processor scheduling, memory management, I/O, file systems, and issues in security. Students will also learn to solve operating system problems using multi-threaded programming.

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 and final practicum course in the Computer Science program. During this course, you will have the opportunity to lead a realistic software development project. As seniors, you will be given an assignment similar to that of a project manager who is responsible for planning and coordinating all project tasks. You may also be responsible for completing tasks that require advanced-level skills/expertise. In addition to project work, you will complete introspective assignments designed to help you synthesize your overall experience in the program. There is a basic structure for all three practicum classes. During the first week, students will apply for and receive assignments for the term. The senior roles will be assigned first, and the instructor, along with the assigned senior managers, will then make the rest of the assignments. All assignments need to be in place by week two. The next step will be to arrange team meetings during the second week to kick off the project. Remember that all of your work will be stored by Franklin and can be compiled to create a professional portfolio to be shown to prospective employers. Consequently, you should submit excellent work and consciously produce good writing.

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 sets, mappings, and relations; elementary counting principles; proof techniques with an emphasis on mathematical induction; graphs and directed graphs; Boolean algebras; recursion; and applications to computer science.

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

This course conveys a high-level vision of programming language theory and a survey of programming languages representing different paradigms. It begins with the concepts and methodologies that underlie all programming languages such as syntax, grammar, semantics, and subroutines. An assortment of programming paradigms is introduced to provide insight into both the traditional imperative and some alternative approaches to program development. The key issues in designing and using programming languages are revisited through studying and writing programs in three different languages.

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

This course is the third of four courses using the objected-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.

OR COMP 611 - Advanced Data Structures and Programming (4)

This course covers key knowledge and skills for advanced software development using the object-oriented approach. The student learns, manipulates and reflects on nonlinear data structures such as trees and heaps. Recursive algorithms, sorting algorithms, algorithm efficiency, and advanced design patterns are addressed. To support the advanced concepts and principles of software development, the student will design, code, test, debug, and document programs with increased scale and complexity using industry's best practices (such as GitHub) and the Java programming language.

Major Electives

At least 12 credits from the following courses:

COMP 325 - Human-Computer Interaction (4)

This course covers a broad range of important topics within Human-Computer Interaction 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 of Human-Computer Interaction and design. The design process is centered on the user and is based on a multidisciplinary approach that synthesizes computer science, cognitive science, and psychology. Human-computer interface designers also use analytical and empirical techniques to assess, predict, and evaluate whether a design meets user requirements. During this course, you will focus on 3 major types of assignments: Written assignments on HCI principles and system design. A project during which you will demonstrate your ability to apply HCI principles to design a software interface. A journal where you will record and reflect on your observations related to your studies in the course.

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 projects, 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)

This course introduces students to the Internet of Things (IoT) systems: basic electronics and electrical components for IoT applications, IoT Systems-on-Chips (SoC), and embedded systems. The course provides students with hands-on experience on selected IoT hardware (Raspberry Pi and Arduino), IoT software development in Python and C++, and IoT simulation in TinkerCAD. The course introduces IoT communication protocols (MQTT and COAP) and IoT edge and cloud integration. Students implement multiple labs and one capstone project to demonstrate mastering of the course concepts and skills.

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 business problem framing, data wrangling, descriptive and inferential statistics, data visualization, and data storytelling in analytics.

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.

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 WikiLeaks have become headline news. Failure to ensure 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, and CAPTCHA.

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.

BUSA 350 - Principles of Analytics Modeling (4)

This course introduces the principles of analytics modeling. Students will learn exploratory data analytics, regression, classification, clustering, model interpretation, and model evaluation.

University Electives

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

Optional Focus Areas

Students may complete a focus area to fulfill the Major Area Elective requirement.

OR

Software Architecture and Engineering:

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.

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 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.

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 projects, 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

OR

Data Analytics:

DATA 300 - Introduction to Analytics (4)

This course introduces the fundamentals of Business and Data Analytics. Students will learn business problem framing, data wrangling, descriptive and inferential statistics, data visualization, and data storytelling in analytics.

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.

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.

BUSA 350 - Principles of Analytics Modeling (4)

This course introduces the principles of analytics modeling. Students will learn exploratory data analytics, regression, classification, clustering, model interpretation, and model evaluation.

OR

Web and Mobile Development:

COMP 325 - Human-Computer Interaction (4)

This course covers a broad range of important topics within Human-Computer Interaction 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 of Human-Computer Interaction and design. The design process is centered on the user and is based on a multidisciplinary approach that synthesizes computer science, cognitive science, and psychology. Human-computer interface designers also use analytical and empirical techniques to assess, predict, and evaluate whether a design meets user requirements. During this course, you will focus on 3 major types of assignments: Written assignments on HCI principles and system design. A project during which you will demonstrate your ability to apply HCI principles to design a software interface. A journal where you will record and reflect on your observations related to your studies in the course.

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.

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.

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 projects, 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

OR

Software Development Security:

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.

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 WikiLeaks have become headline news. Failure to ensure 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, and CAPTCHA.

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 projects, 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

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.

Academic Minors

Personalize your degree with a minor. Explore available minors, learn how minors can benefit you, and find out what requirements you must meet to earn a minor.

Learn More

Microcredentials Align with Job Essentials

In today's dynamic work environments, adaptive professionals thrive. A microcredential - either as a stand-alone course or integrated into your degree program - is a short, skill-specific recognition that enables you to demonstrate your competency in a distinct area. Like Franklin's degree programs, microcredentials are aligned with market and industry demand to ensure what you learn can be put to use right away. Microcredentials are easily shared via digital badges and can be stacked to create a unique portfolio of in-demand skills.

B.S. in Computer Science Program Details

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 advantage of flexible courses that fit your busy schedule.

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

  • Get in-demand knowledge that helps Franklin grads stand out with top employers.

Request Information

Step 1 of 3
Get Started >< BackNext >Submit
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
Loading...

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

18%

From 2023-2033, jobs in Computer Science are expected to increase by 18%

All Occupations

2023
5,572,598 jobs
2033
6,611,075 jobs
Show Details >

Computer and Information Systems Managers

2023
604,207 jobs
2033
722,584 jobs

Computer Systems Analysts

2023
593,007 jobs
2033
676,019 jobs

Software Developers and Software Quality Assurance Analysts and Testers

2023
1,992,546 jobs
2033
2,529,490 jobs

Computer User Support Specialists

2023
604,207 jobs
2033
722,584 jobs


Source information provided by Lightcast.

Computer Science Knowledge & Skillsets

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

Get Credit For Certifications + Training

The certificates and training listed below are relevant to this degree program. Search our database to view pre-evaluated credentials and see how a license, certification or professional training saves you time and money toward your degree.

Computer Science Bachelor's Frequently Asked Questions

Back to College Blog

Related Programs