Computer Science

Course Descriptions

Course descriptions are listed numerically. Prerequisites, if any, are indicated in italics above the course descriptions. These prerequisites have been established to assure an adequate and uniform background for students in advanced classes. Franklin University reserves the right to alter course offerings or course content without notice. Not all courses are offered every trimester.

UNDERGRADUATE COURSES


COMP 085
Computer Literacy (2 cr. hrs.)

Prerequisite(s): None. Not open to students with credit for Survey of Information Processing, Data Processing I or Computer Literacy (INFO 110).
This developmental course focuses on computer literacy. It is graded on a Pass/No Credit basis and carries institutional credit but does not count toward degree requirements. Computer literacy is defined as being aware of the importance of computers in the modern world; knowing what computers are and how they work; and being able to use a computer for simple applications. Students are introduced to the internal operations and organization of computers, basic computer operations, and word processing and presentational concepts and skills.

COMP 106
Introduction to Spreadsheets (1 cr. hr.)

Prerequisite(s): Computer Literacy (COMP 085) or equivalent. Not open to students with credit for Computer Concepts (COMP 105).
This course focuses on using spreadsheets to solve business applications.

COMP 107
Introduction to Web Authoring (1 cr. hr.)

Prerequisite(s): Computer Literacy (COMP 085) or equivalent. Not open to students with credit for Computer Concepts (COMP 105) or to students with credit for Introduction to Presentational Software (COMP 107).
This course is an introduction to the use of software in Web authoring. It will provide students with the basic knowledge required to design, build, and maintain an informational Web site.

COMP 108
Introduction to Databases (1 cr. hr.)

Prerequisite(s): Computer Literacy (COMP 085) or equivalent. Not open to students with credit for Computer Concepts (COMP 105).
This course focuses on using databases to solve business applications.

COMP 111
Introduction to Computer Science& Object-Oriented Programming (4 cr. hrs.)

Prerequisite(s): College Algebra (MATH 160). Not open to students with credit for Computer Science I (COMP 110), except with the permission of the Program Chair.
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 cr. hrs.)

Prerequisite(s): Introduction to Computer Science & Object-Oriented Programming (COMP 111) and College Algebra (MATH 160). Not open to students with credit for Computer Science II (COMP 120) except with the permission of the Program Chair.
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 cr. hrs.)

Prerequisite(s): Introduction to Computer Science & Object-Oriented Programming (COMP 111) and Discrete Mathematics (MATH 170).
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 202
Principles of Computer Languages (2 cr. hrs.)

Prerequisite(s): Principles of Computer Organization (COMP 201) and Discrete Mathematics (MATH 170).
This course covers the mapping of a high-level language onto the hardware. An introduction to language theory is provided by the use of regular expression grammars. The Church-Turing thesis is introduced as the foundational definition of computation.

COMP 203
Principles of Operating Systems (2 cr. hrs.)

Prerequisite(s): Principles of Computer Organization (COMP 201).
This course is a continuation of the computing infrastructures sequence. The function and structure of operating systems is studied. In addition, the operating system layer provides the environment buffering the hardware from the software. An important topic in this course is the nature of concurrency and the problems that it poses: description of the functions and parts of an operating system; relationship of the operating system and underlying hardware; virtual memory; and concurrency and synchronization.

COMP 204
Principles of Computer Networks (2 cr. hrs.)

Prerequisite(s): Introduction to Computer Science and Object-Oriented Programming (COMP 111) OR Business Programming Concepts (ITEC 136) OR any structured programming course.
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 205
Survey of Computer Languages (4 cr. hrs.)

Prerequisite(s): Introduction to Web Authoring (COMP 107) and Object-Oriented Data Structures & Algorithms I (COMP 121).
This course provides an overview of programming language concepts and practice with several languages. Programming languages are compared using language paradigms, parameter passage techniques, scoping, block structure, and other language features. Functional programming languages, scripting languages, and .Net are used as practical examples.

COMP 281
Database Management Systems (4 cr. hrs.)

Prerequisite(s): College Algebra (MATH 160), Introduction to Databases (COMP 108) and Introduction to Computer Science & Object-Oriented Programming (COMP 111) or Computer Science I (COMP 110) or Business Applications Programming (COMP/ITEC 235) or Business Applications Programming I (ITEC 136). Not open to students with credit for COMP/ITEC/MIS 380 or to students with credit for ITEC/MIS 281.
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 Practicum I (2 cr. hrs.)

Prerequisite(s): Object-Oriented Data Structures & Algorithms I (COMP 121).
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.

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

Prerequisite(s): Object-Oriented Data Structures & Algorithms I (COMP 121) and Discrete Mathematics (MATH 170). Not open to students with credit for Algorithm Analysis (COMP 319).
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 cr. hrs.)

Prerequisite(s): Database Management Systems (COMP/ITEC/MIS 281 or COMP/ITEC/MIS 380), Object-Oriented Data Structures & Algorithms II (COMP 311) and Survey of Computer Languages (COMP 205) or Web Design & Implementation (WEBD 234). Not open to students with credit for COMP/DCOM 345.
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 325
Human Computer Interaction (4 cr. hrs.)

Prerequisite(s): Object-Oriented Data Structures and Algorithms I (COMP 121). Not open to students with credit for COMP 415.
This course covers a broad range of important topics within Human Computer Interaction (HCI) and the implications for the design of interactive systems. By understanding the user’s view and technology’s effects on people, we can better plan for the selection, design, implementation and use of technology so that the effects are positive instead of negative. The focus will be on the design of interactive systems and human computer interfaces. It will cover the current literature and the “known and unknowns” about HCI and design. The design process is centered on the user, is based on a multi-disciplinary approach through a synthesis of computer science, cognitive science and psychology and utilizes analytical and empirical techniques to assess, predict and evaluate whether a design meets the user’s requirements.

COMP 394
Computer Science Practicum II (2 cr. hrs.)

Prerequisite(s): Computer Science Practicum I (COMP 294).
Prerequisite or Corequisite: Application Server Programming (COMP 321).

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 410
Computer Science Internship (1- 4 cr. hrs.)

Prerequisite(s): None.
This course provides students with an opportunity to receive academic credit for supervised professional training and experience in an actual work environment. This Internship is an ongoing seminar between the student, the faculty member and the employment supervisor. It involves a Learning Contract, periodic meetings with the faculty representative, professional experience at a level equivalent to the other senior-level courses, and submission of materials as established in the Learning Contract. Participation cannot be guaranteed for all applicants.

COMP 461
Enterprise Software Architecture (4 cr. hrs.)

Prerequisite(s): Application Server Programming (COMP 321). Not open to students with credit for WWW Application Development (COMP 361) or to students with credit for DCOM 461.
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 480
Special Topics in Computer Science (1-4 cr. hrs.)

Prerequisite(s): Determined on a course-by-course basis and published in the trimester Course Schedule.
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 in the Course Schedule for the trimester the course is offered.

COMP 486
Object-Oriented Analysis and Design (4 cr. hrs.)

Prerequisite(s): Object-Oriented Data Structures & Algorithms II (COMP 311), Information Systems Architecture and Technology (MIS 310), and Technical Communication (MIS 320). Not open to students with credit for Software Engineering I (COMP 395).
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 495
Computer Science Practicum III/Capstone (4 cr. hrs.)

Prerequisite(s): Senior standing, Computer Science Practicum II (COMP 394) and Enterprise Software Architecture (COMP 461).
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.

COMP 499
Independent Studies in Computer Science (1-4 cr. hrs.)

Prerequisite(s): Minimum 2.00 cumulative GPA, at least 16 credit hours completed at Franklin, related coursework completed with a minimum grade of “B,” and permission of the Program Chair.
Independent studies courses allow students in good academic standing to pursue learning in areas not covered by the regular curriculum or to extend study in areas presently taught. Study is under faculty supervision and graded on either a Pass/No Credit or a letter grade basis. (See the “Independent Studies” section of the Academic Bulletin for more details.)

GRADUATE COURSES


COMP 610
Internship in Computer Science (1-4 cr. hrs.)

Prerequisite(s): Admittance into the Computer Science graduate program.
This course provides MSCS students the opportunity to further their education with relevant work experience in the field of Computer Science. This internship is an ongoing seminar between the student, faculty and the employment supervisor. It involves a Learning Contract (Curricular Practical Training [CPT] Information, or other), periodic meetings with the faculty representative, and professional experience at a level equivalent to other electives of the MSCS program. Specification of the materials to be submitted is established in the learning contract. Participation cannot be guaranteed for all applicants.

COMP 620
Analysis of Algorithms (4 cr. hrs.)

Prerequisite(s): Object-Oriented Data Structures & Algorithms II (COMP 311).
This course covers various algorithm design paradigms, mathematical analysis of algorithms, empirical analysis of algorithms and NP-completeness.

COMP 630
Issues in Database Management (4 cr. hrs.)

Prerequisite(s): Database Management Systems (COMP 281 or COMP/ITEC/MIS 380) and Communication Strategies for the Technical Professional (COMP 660).
This course focuses on the fundamental design considerations in designing a database. Specific topics include performance analysis of design alternatives, system configuration and the administration of a popular database system. The course also offers an in-depth analysis of the algorithms and machine organizations of database systems.

COMP 645
Topics in Software Development (4 cr. hrs.)

Prerequisite(s): None.
This course surveys current practices in software development and software design, especially in the area of object-oriented design. The course will examine and contrast current and leading edge methodologies and practices, including agile, extreme programming, test-driven design, patterns, aspect-oriented programming, model-driven architecture, Unified Modeling Language, and integrated development environments.

COMP 650
System Architecture and Engineering (4 cr. hrs.)

Prerequisite(s): Communication Strategies for the Technical Professional (COMP 660) or permission of the Program Chair.
This course covers topics in software systems engineering. Its scope is the design of the overall architecture for software systems with emphasis on distributed architectures. The issues in an architecture centered software development cycle and project management are addressed.

COMP 655
Operating/Distributed Systems (4 cr. hrs.)

Prerequisite(s): Issues in Database Management (COMP 630) and System Architecture and Engineering (COMP 650).
This course covers the concepts and design of distributed computing systems and distributed application programming. Topics include: the basic concepts of distributed systems (e.g., transparency, heterogeneity, network process communication), CORBA and related OMG technologies, and front-end development tools.

COMP 660
Communication Strategies for the Technical Professional (4 cr. hrs.)

Prerequisite(s): None.
This course focuses on the problems, principles and techniques of communicating technical and scientific information. Types of communication addressed include: proposals, reports and manuals. The course uses a case-study approach to give students both the theoretical foundations and hands-on practice they need to work effectively in heterogeneous corporate groups.

COMP 665
Project Management of Information Systems (4 cr. hrs.)

Prerequisite(s): Admission into the graduate program or permission of the instructor.
This course examines various issues related to the management of information systems. Topics include: strategic planning, organizing the technology resources, means of prioritizing and selecting information technology, staffing, personnel management, and assessment.

COMP 670
Application of Artificial Intelligence (4 cr. hrs.)

Prerequisite(s): Admission into the graduate program or permission of the instructor.
This course focuses on the use of artificial intelligence tools and techniques in industry. Topics include cognitive psychology topics, foundation material (e.g., search algorithms, knowledge representation and AI languages) and tools (e.g., expert systems, natural language interfaces and neural networks).

COMP 671
Verification and Testing (4 cr. hrs.)

Prerequisite(s): Communication Strategies for the Technical Professional (COMP 660).
This course focuses on the issues of delivering high quality software, especially in large complex systems. Topics covered include testing strategies (black box, white box, regression, etc.), unit testing, system integration, system verification and support tools. It also will reinforce the need for requirements that are testable and traceable from the early design stages.

COMP 672
Human Factors (4 cr. hrs.)

Prerequisite(s): Communication Strategies for the Technical Professional (COMP 660).
This course provides a broad overview of human-computer interaction (HCI) as a sub-area of computer science and explores user-centered design approaches in information systems. Topics include user interface and software design strategies, user experience levels, interaction styles, usability engineering and assessment models.

COMP 674
Parallel and High Performance Computing (4 cr. hrs.)

Prerequisite(s): Admission into the graduate program or permission of the Program Chair.
This course focuses on the design, analysis and performance evaluation of parallel algorithms on different computer architectures. The course will cover a variety of parallel programming models and portable software libraries. It will familiarize students with shared-memory and data parallel models. Special emphasis will be given to distributed memory parallel programming in particular to message passing over a collection of networked workstations. Models and techniques for programming vector-type supercomputers will also be covered.

COMP 676
Computer Security (4 cr. hrs.)

Prerequisite(s): Operating/Distributed Systems (COMP 655).
This course covers the fundamentals of security in the networked environment. Included are coverage of risks and vulnerabilities, threat modeling and policy formation, controls and protection methods, encryption and authentication technologies, personnel and physical security issues, as well as ethical and legal issues.

COMP 680
Special Topics in Graduate Computer Science (4 cr. hrs.)

Prerequisite(s): Determined on a course-by-course basis and published in the trimester Course Schedule.
A variable content course in an advanced topic in the field of computer science in which students may pursue current topics or subjects not found in the regular curriculum. A complete description will be published in the Course Schedule for the trimester the course is offered. This course counts as an elective in the graduate program.

COMP 691
Capstone Project (4 cr. hrs.)

Prerequisite(s): Permission of the Program Chair.
This course challenges the student to complete a major project that integrates ideas from the other graduate courses. Projects may take many forms and may either include or exclude programming effort. The student will submit a prospectus to the Program Chair crystallizing the topic before entering the course. The final outcome is an introduction to the topic and a final statement of the student's plan and objectives.

COMP 699
Independent Studies in Graduate Computer Science (1-4 cr. hrs.)

Prerequisite(s): Permission of the Program Chair.
Independent studies courses allow students in good academic standing to pursue learning in areas not covered by the regular curriculum or to extend study in areas presently taught. Study is under faculty supervision and graded on Pass/No Credit basis. For international students, curricular practiced training may be used as an independent study with approval of the Program Chair. (See the “Independent Studies” section of the Academic Bulletin for more details.)

Ready to start an application?

Franklin's student-centered philosophy is one of the many reasons so many students choose us!

START YOUR APPLICATION

Testimonials

Have a question?

Get Answers Now Ask Franklin's Virtual Advisor:

Ask real questions like
"How do I apply?"