Bachelor of ScienceComputer and Information Sciences
The ABET-accredited Computer and Information Science Bachelor of Science degree program focuses on the science behind the coolest gadgets and gear on the market.
Philip Grim, II Instructor and Program Lead of Computer Science
Full Time Faculty
Instructor of Computer and Information Sciences and Program Lead of CISC Online
Instructor of Computer Science
Associate Professor of Computer Science
Instructor of Mathematics & Computer Science
Corporate Faculty (ISDR)
Associate Professor of Computer Science
Professor of Computer Science
Instructor of Computer Science
Instructor and Program Lead of Computer Science
Instructor of Cybersecurity
Corporate Faculty (CISC)
This program requires a total of 50 semester hours: 35 semester hours from the core courses listed below and 15 semester hours completed in the Individualized Concentration. The semester hour value of each course appears in parentheses( ).
This course introduces the concepts and techniques of computer programming. Emphasis is placed on developing the student’s ability to apply problem-solving strategies to design algorithms and to implement these algorithms in a modern, structured programming language. Topics include fundamental programming constructs, problem solving techniques, simple data structures, Object-Oriented Programming (OOP), program structure, data types and declarations, control statements, algorithm strategies and algorithm development.
This lecture and laboratory course further develops the concepts and techniques of computer programming. Emphasis is placed on structured programming, top-down design, more advanced data structures, and the proper use of the programming language and development tools. Topics include abstract data types (ADTs), sets, records, recursion, problem solving and algorithms, fundamental computing algorithms, searching, introductory sorting, hash tables, basic algorithm analysis, Object-Oriented Programming (OOP), files, linked lists, queues, stacks, and binary trees.
The goal of the course is to teach the design and operation of a digital computer. It serves students in two ways. First, for those who want to continue studying computer architecture, embedded systems, and other low-level aspects of computer systems, it lays the foundation of detailed implementation experience needed to make the quantitative tradeoffs in more advanced courses meaningful. Second, for those students interested in other areas of computer science, it solidifies an intuition about why hardware is as it is and how software interacts with hardware. The subject matter covered in the course includes technology trends and their implications, performance measurement, instruction sets, computer arithmetic, design and control of a datapath, pipelining, memory hierarchies, input and output, and brief introduction to multiprocessors. Offered Semester II (Spring), annually.
This course is a foundation for database design and database security courses. Systems Analysis and Design is a fundamental, active field in which analysts continually learn new techniques and approaches to develop systems more effectively and efficiently. There is a core set of skills that all analysts need to know no matter what approach or methodology is used. All information systems projects move through the four phases of planning, analysis, design, and implementation; all projects require analysts to gather requirements, model the business needs, and create blueprints for how the systems should be built; and all projects require an understanding of organizational behavior concepts like change managememnt and team building. This course captures the dynamic aspects of the field by keeping the student focused on doing Systems Analysis and Design while presenting the core set of skills that the analysts needs to know.
This course covers the basic techniques used to analyze problems and algorithms, including asymptotic, upper/lower bounds, and best/average/worst case analysis. Amortized analysis, complexity, and basic techniques are used to design algorithms (including divide & conquer/greedy/dynamic programming/heuristics, choosing appropriate data structures) and important classical algorithms (including sorting, string, matrix, and graph algorithms). The goal for the student is to be able to apply all of the above to design solutions for real-world problems.
This course provides an introduction to the design and implementation of operating systems. The student is exposed to different operating systems on various computer platforms and is expected to develop a significant operating system programming project in this area. Topics include operating systems principles, computer architecture, concurrency threads, CPU scheduling and dispatching, memory management techniques, computer security and system administration using Windows XP, Unix and Linux.
This course introduces the student to the fundamental concepts in design and implementation of programming languages. We examine the evolution and the theory of language design with respect to syntax and semantics of programming language. Different approaches to programming paradigms and feature inclusions are discussed both with respect to their utility for developers as well as the underlying programming models which enable these features. This course examines the full range of programming models and language paradigms, starting from imperative, functional, logic programming to the latest object-oriented programming languages.
This course presents a study of formal languages and the correspondence between language classes and the automata that recognize them. Formal definitions of grammars and acceptors, deterministic and non-deterministic systems, grammar ambiguity, finite state and push-down automata, and normal forms will be discussed.
This course introduces techniques to evaluate limits and covers continuity, special trigonometric limits, absolute value limits and differentiation of algebraic, trigonometric, and logarithmic functions. The course explores intermediate value theorem, mean value theorem, and extreme value theorem. Other topics for exploration are application and formal definition of derivative average rate of change versus instantaneous rate of change, velocity, and the introduction of the definite integral and its applications. A graphing calculator is required for this course.
As science and engineering disciplines grow so does the use of mathematics; new mathematical problems are encountered, and new mathematical skills are required. In this respect, linear algebra has an essential role in various engineering and scientific disciplines. This course develops the fundamental algebraic tools involving matrices and vectors to study linear systems of equations and Gaussian elimination, linear transformations, orthogonal projection, least squares, determinants, eigenvalues and eigenvectors and their applications. This course develops concrete computational skills along with theoretical considerations.
This course ensures that the computer science student reaches the level of mathematical maturity necessary for the study of Computer and Information Science. Topics covered draw on current material from the study of graphs, trees, relations, algorithms and models of computation.
Free RedHat Linux Administrator Workshop for HU Students
Harrisburg University’s (HU), High-Performance Computing (HPC) lab is excited to announce the upcoming RedHat Linux Administrator Workshop. The workshop is…
HU Class of 2023: Celebrating Achievements, Experiential Education, and Career Success
Harrisburg University (HU) is proud to celebrate the achievements of its Class of 2023 graduates, who have excelled in their…
HU instructor attends identity inclusion computer science education summit
On May 6-7, 2023, Philip Grim, Instructor of Computer Science and Program Lead in undergraduate Computer and Information Sciences, along…
Harrisburg Grads Secure Top Job Offers
During the Harrisburg University of Science and Technology Commencement 2023 Ceremony, several graduating seniors proudly shared their accepted job offers,…
Harrisburg University Researchers Publish Breakthrough Study on Mobile Serious Game for Science Learning
Harrisburg, PA – A team of researchers from Harrisburg University has published a groundbreaking study on the use of mobile…
HU grad opens new event company in Lancaster for creative community outlet
Congratulations to HU graduate Tyler Ross, founder, and president of Ross Productions, for opening a studio in Lancaster. The Middletown-based…
Take the Next Step
Get More Information
Questions about our programs? Reach out to a member of our team and get personalized answers.
Create an account and start your free online application to Harrisburg University today.