Skip to content

Explore a wide variety of STEM courses offered at Harrisburg University, from ethical hacking to epidemiology.

CBDS 680 - ST in Applied Behavioral Research (3 credits)

Theories of human behavior and behavioral research methods are constantly evolving. This seminar is designed to provide an overview of the state-of-the-art in applied behavioral research. Each session will consist of a discussion of recent advances in consumer research and/or a relevant story pulled from the headlines. Guest lectures from academia, industry, and the public sector will also present their work and their views on the future of applied behavioral research.

CBDS 695 - Adv Behavioral Research Methods (3 credits)

As technology advances so do applied behavioral research methodologies. This frequently updated course provides the knowledge and skills needed to conduct innovative applied behavioral research using emergent methodologies. Research applications covered include: Decision time analysis, mouse tracking, eye tracking, affect measurement, and practical neural measurement techniques (e.g., NIRS and ECG/EEG). Material is presented via lectures (guest lectures), discussions of transformative research, labs, and an immersive research project.

CBDS 699 - Appld Behavioral Research Project (3 credits)

This seminar is designed to assist the student as they produce the final deliverable of their studies – an applied behavioral research project. In the first weeks the student will deliver an overview of their project and what stage they are currently in. During the following weeks the student will deliver status updates allowing them to seek out feedback and advice for how to approach issues encountered (e.g., implementation and analysis problems), while also benefitting from their classmates’ experiences. In the final weeks the student will give a presentation which will be in the format of a “mini-defense”.

CHEM 151 - General Chemistry I Lecture (3 credits)

This course provides a general introduction to atoms and molecules, stoichiometry, states of matter, solutions, reactions, kinetics and equilibrium which serve as a prerequisite for advanced courses.

CHEM 152 - General Chemistry I Laboratory (1 credit)

Companion laboratory component that illustrates the study of chemical principles presented in CHEM 151.

CHEM 161 - General Chemistry Lecture II (3 credits)

A study of chemical principles including acid/base chemistry, bonding, thermodynamics, and electrochemistry.

CHEM 162 - General Chemistry Laboratory II (1 credit)

Companion laboratory component that illustrates the study of chemical principles presented in CHEM 161.

CHEM 200 - Environmental Chemistry I (3 credits)

An introductory investigation of current concerns and problems dealing with chemistry of the environment. Chemistry of the atmosphere, biosphere and hydrosphere are examined and discussed.

CHEM 210 - Organic Chemistry I (4 credits)

This course with laboratory is designed as a first-level introduction to the carbon-based reactions involved in life chemistry. The course focuses on the nomenclature, stucture and fundamental basis for reactivity of organic compounds. It sets a background for advanced study in forensic or environmental chemistry and biochemistry.

CHEM 211 - Organic Chemistry I Lecture (3 credits)

This course is designed as a first-level introduction to the carbon-based reactions involved in life chemistry. The course focuses on the nomenclature, structure and fundamental basis for reactivity of organic compounds. It sets a background for advanced study in chemistry and biochemistry. Offered Fall Semester and Summer, annually.

CHEM 212 - Organic Chemistry I Lab (1 credit)

Companion laboratory component that provides introduction to carbon-based reactions involved in life chemistry. Offered Fall Semester and Summer, annually.

CHEM 220 - Organic Chemistry II (4 credits)

This course builds upon the principles learned in the first course and is designed to provide a foundation in the fundamentals of organic compounds, their structures, reactions, and underlying reaction mechanisms.

CHEM 310 - Environmental Chemistry II (4 credits)

This laboratory-intensive course addresses specific topics related to environmental chemistry; specifically, the transport of chemicals and energy amongst soil, air and water phases, rates of movement of solutes, and the chemical impact to biological systems. This is an advanced course specifically tailored for students in the integrative sciences program of study or those with specific interest in environmental chemistry. This course is required for the environmental chemistry concentration.

CHEM 315 - Analytical Chemistry (4 credits)

This course will introduce theoretical and practical aspects of quantitative chemical analysis: primary analysis, error analysis, data handling; solution equilibria and acid-base titrations; spectrophotometry. The laboratory component emphasizes proper analytical techniques.

CHEM 320 - Bio-Organic Chemistry (3 credits)

This course is designed as an advanced undergraduate study of the structure and reactivity of carbon-based bio-molecules. Approximately one-half of the course is devoted to a description of the structure and chemical properties of bio-organic compounds. The second half of the course draws upon the concepts from organic and inorganic chemistry in order to investigate enzymatic reactions and metabolism.

CHEM 325 - Instrumental Chemical Analysis (4 credits)

This course introduces instrumental and method design, function, and operation applied to chemical analysis. The laboratory component emphasizes hands-on instrument use, data analysis, and unknown identification.

CHEM 330 - Biochemistry I (4 credits)

This course provides a study of the reactions and molecules of life to understand that biology and chemistry at this level is biochemistry. Particular focus will be given to: 1) techniques in biochemistry to separate material; 2) the central dogma; and 3) communication and signal transduction at the cellular level.

CHEM 350 - Biochemistry II (4 credits)

This course is a detailed study of carbohydrate and fatty acid metabolism including biochemical thermodynamics. An in-depth study of nucleic acids and how their chemistry dictates their structure and biological function is also presented. Offered Spring Semester, annually.

CHEM 380 - Special Topics in Chemistry (3 credits)

This course covers topics in chemistry. It is an in-depth study of a selected specialized area and the content varies by semester.

CHEM 420 - Inorganic Chemistry (3 credits)

This course provides the student a general overview of inorganic chemistry. The relationship between structure, bonding and reactivity of transition metals is a primary focus.

CISC 100 - Lego Robotics Programming (3 credits)

This course provides an introduction to mobile robots and the fundamental concepts of programming by using Lego Mindstorms RCX robots. Lectures are followed by hands-on exercises performed in groups, where creativity is a key component. The primary goal is to obtain both visual and textual programming skills while promoting social aptitudes such as leadership and teamwork.

CISC 101 - Exploring Lego Robotics (2 credits)

This course provides an introduction to mobile robots and the fundamental concepts of programming using Lego Mindstorms robots. Lectures are followed by hands-on labs, where creativity and problem solving are key components. The primary goal is to obtain both visual and textual programming skills while promoting social aptitudes, such as leadership and teamwork. Offered Semester III (Summer), annually.

CISC 103 - Intro to Computers & Info Sciences (4 credits)

This course serves as an introduction to computing and information systems. It uses both lecture and laboratory practice to introduce students to the use of computers to solve problems. The student is presented the techniques, concepts, analysis, and reports on experiences and technologies and trends. This includes the concepts of hardware, software, networking, computer security, programming, database, e-commerce, decision support systems, and other emerging technologies. The student is introduced to techniques that search, evaluate, validate, and cite information found online. Widely-used applications including word processing, spreadsheets, databases, presentation, and web development software are also studied.

CISC 106 - Special Topics in CISC (0 credits)

This course covers topics in Computer & Information Sciences.

CISC 120 - Programming I (4 credits)

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.

CISC 140 - Programming II (3 credits)

This course builds upon fundamental concepts of programming and introduces several more advanced concepts. Emphasis is placed on the practical applications of the techniques and structures, as opposed to abstract theory, in the hopes of rendering the content accessible and useful in the context of using programming as a tool to solve problems. Topics covered include the basics of Object-Oriented Programming (OOP), sorting and searching algorithms, and basic data structures. Offered Fall and Spring Semester, annually.

CISC 160 - Data Structures (3 credits)

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.

CISC 211 - Computer Organization & Archiecture (4 credits)

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.

CISC 225 - Information Syst Design & Analysis (3 credits)

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.

CISC 233 - Essential Algorithms (3 credits)

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.

CISC 298 - CISC Project I (3 credits)

This first project in the student’s experiential program challenges the student to identify, investigate and analyze a particular topic in the program of study or a concentration. A key objective is to apply skills, methods, and knowledge obtained in prior courses with independent thinking and research; the final product represents the successful and purposeful application of knowledge. The project is undertaken with the close mentorship of a faculty member, and may involve a community partner. Projects can involve scientific-based research or laboratory experiences, needs analysis or development plans for external organizations, or market studies and business plan proposals.

CISC 300 - Web Technologies (4 credits)

The student studies, explores and designs a website using static as well as dynamic content. The student experiments with the latest developments in web technologies and web services. Coursework is accomplished both individually and in teams to build, launch, and market a website for a community member or as a university project. This course includes an interactive programming component utilizing an Object-Oriented Programming Language.

CISC 301 - Operating Systems (4 credits)

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.

CISC 320 - Computer Forensics (4 credits)

This course provides the student with a unique hands-on experience in digital forensics using case studies. Emphasis is placed on computer incident responses and security risk assessments. Technical and legal issues regarding computer evidence are also covered since they have a bearing on both the computer incident response and the investigation. Computer evidence preservation is stressed using cross-validation of forensic tools and the documentation of computer evidence findings. Computer evidence processing methodologies and practices are also learned to combat legal challenges against the admissibility of computer-related evidence.

CISC 325 - Programming Languages Concepts and (3 credits)

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.

CISC 330 - Computer Networks (4 credits)

The essential topics in computer (digital) and network security are covered. Areas covered include viruses, computer crime, web server security, denial of service attacks, authentication protocols, firewalls, Trojan horses, intrusion detection, data encryption methods, public key cryptography (RSA, DES), email viruses, attachments, spy ware, digital homeland security in wireless technologies and mobile computing. The student is expected to develop a significant programming project in this area.

CISC 333 - Defensive Programming (4 credits)

This course covers the analysis of cryptographic algorithms, cryptanalysis, symmetric key cryptography, public key cryptography, Diffie-Hellman, DES, AES, RSA, Blowfish, Twofish, hash and MAC functions, digital signatures, pseudo-random generators, cryptographic protocols, SSL/TLS and SET. These algorithms represent the actual ciphers used in most standard secure applications. The student is challenged to implement these algorithms using an Object-Oriented Programming Language such as C# or Java. Offered Semester II (Spring), odd-numbered years.

CISC 340 - Intro to Artificial Intelligence (4 credits)

This course introduces intellectual issues and intelligent systems in the computer field. Topics include: Fundamentals of intelligent systems, artificial intelligence (AI), AI search strategies, knowledge representation, privacy rights and civil liberties, intellectual property, digital copyrights and patents, social and ethical issues, intelligent (Internet) agents, intelligent manufacturing systems, and robotics.

CISC 349 - Smart Phones Programming (4 credits)

As technologies evolve, new interaction styles are made possible. The goal of this course is to teach the student how to design, implement, test, debug and publish smartphone applications. The student will learn how to take their innovative ideas from conception to the smartphones market through a series of rigorous hands-on programming assignments and group projects. There is a significant amount of programming in this course requiring a commitment on the part of the student.

CISC 365 - CISC Internship (3 credits)

An internship allows the student to put theory into practice. The student applies classroom experiences to the workplace at an off-site placement, where ideas are tested and competencies and skills are developed. Throughout the internship, the student works regularly with a faculty supervisor, the Office of Experiential Programs, and a site supervisor who guide the learning process. The student integrates the collective observations, analyses, and reflections of this experiential team into an internship portfolio that showcases the accomplishments of the experience. The unique portfolio is constructed throughout the internship, and represents the evolutionary and dynamic nature of the learning process.

CISC 370 - Ethical Hacking (4 credits)

Teaching the student how to hack is a legitimate means of identifying a company’s network weaknesses and can be an effective component of computer security. This course introduces the student to the job role of an ethical hacker and the essential hacking technologies required. The different phases involved in hacking are exploited. The student is introduced to the techniques of penetration testing, intrusion testing, and “red-teaming.” The student also learns of the legal considerations for working as an ethical hacker.

CISC 380 - CISC Special Topics (3 credits)

This course covers emerging topics in Computer and Information Science. It is an in-depth study of a selected specialized area of Computer and Information Science and the content varies by semester.

CISC 390 - CISC Independent Study (4 credits)

This course is designed for the student who demonstrates an interest in an area of study not offered or who wishes to pursue a discipline in greater depth than possible through existing courses. A directed study counts as an elective and may not be used for accelerated or remedial credit. A learning contract between the student and instructor defines the responsibilities of the parties and specifies the learning objectives and standards for successful completion of the project. A calendar of meeting times and deadlines shall be a part of that contract.

CISC 397 - Prin of Software Eng & Syst Analys (4 credits)

This course develops specific programming designs and specifications and the formal methods used. It is particularly important that the student place a great deal of emphasis in understanding the different design models and the sections covering requirements analysis and system specification. Developing a complete set of requirements and specifications is one of the more difficult and critical tasks in software engineering. During the course, the student is involved with a real problem solving/software development situation. The student is required to gather functional requirements, identify the problem, form a solution and present this solution to a prospective customer.

CISC 399 - Formal Languages & Automata Theory (4 credits)

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.

CISC 400 - Computer Graphics (4 credits)

This course teaches the fundamental techniques behind applications such as PhotoShop, medical MRIs, video games, and movie special effects. It begins by building a mathematical model of the interaction of light with surfaces, lenses, and an imager. Students then study the data structures and processor architectures that allow for efficiently evaluating that physical model. Students complete a series of programming assignments for both photorealistic image creation and realtime 3D rendering using C++, OpenGL, and GLSL. These assignments cumulate in a multi-week final project. Topics covered in the course include: projective geometry, ray tracing, bidirectional surface scattering functions, binary space partition trees, matting and compositing, shadow maps, cache management, and parallel processing on GPUs.

CISC 411 - Elements of Computing (3 credits)

This course covers the integration process of key notions from algorithms, computer architecture, operating systems, compilers, and software engineering in one unified framework. This is done constructively, by building a general-purpose computer system from the ground up. In that process, ideas and techniques used in the design of modern hardware and software systems are explored and discussed. This course provides in-depth overview of computer systems: sources of complexity and design principles, modularity, abstraction, layering, hierarchy, memory management, interpreters, and compilers along with operating systems design and management.

CISC 431 - Natural Language Procssing (4 credits)

This course introduces the fundamental concepts and ideas in natural language processing (NLP), otherwise known as computational linguistics. It develops an in-depth understanding of both algorithms for processing linguistic information and the underlying computational properties of natural languages. Word-level, syntactic, and semantic processing from both a linguistic and an algorithmic perspective are covered, aiming to get current with present research in the area. The course focuses on modern quantitative techniques in NLP using large corpora, statistical models for acquisition, disambiguation, and parsing and the construction of representative systems.

CISC 432 - Statistical Pattern Recognition (4 credits)

Many emerging applications, such as indexing, security, forensics, and information discovery, involve the use of novel ideas and effective techniques in teaching computers to recognize patterns in various signals and data, ranging from documents, images, audio, and other sensory signals. This course includes the introduction to basic theories, algorithms, and practical solutions of statistical pattern recognition. Topics covered include feature extraction, feature selection, Bayesian classifiers, neural networks, discriminative classifiers, clustering, performance evaluation, and fusion of models. The student gets some hands-on experience in the design, implementation and evaluation of pattern recognition algorithms by applying them to real-world problems.

CISC 433 - Elements of Computing Systems I (4 credits)

The course is the first part of an integration process of key notions from algorithms, computer architecture, operating systems, compilers, and software engineering in one unified framework. This is done constructively, by building a general-purpose computer system from the ground up. In that process, ideas and techniques used in the design of modern hardware and software systems are explored, and discuss major trade-offs and future trends. This course evolves around building a series of HW and SW modules, including building a chip set of simple yet functional computer using a simulator, developing the assembler, and building part of the virtual machine translator.

CISC 440 - Wireless Security Management (4 credits)

This course exposes the student to authentication, access control, and auditing (the 3As), which are the fundamental mechanisms required in enterprise security management for countering the various types of threats on wireless based systems. The student is presented with an approach to managing enterprise security policies using wireless devices in order to effectively monitor and defend trusted domains. Specifically, the student will describe security architecture for designing and implementing a wireless-enabled solution for enterprise security management.

CISC 444 - Elements of Computing Systems II (4 credits)

The course is the second part of an integration process of key notions from algorithms, computer architecture, operating systems, compilers, and software engineering in one unified framework. This is done constructively, by building a general-purpose computer system from the ground up. In that process, ideas and techniques used in the design of modern hardware and software systems are explored, and discuss major trade-offs and future trends. This course evolves around building a series of HW and SW modules, including building a chip set of simple yet functional computer using a simulator, developing the assembler, and building part of the virtual machine translator.

CISC 460 - SQL Database Des & Implementation (3 credits)

This course introduces the physical and logical organization of databases, data retrieval languages, relational database languages, security and integrity, concurrency, distributed databases, and web access to database information. Emphasis is on software design using a relational database management system. Topics include: information systems, database management systems, relational databases, database design, query languages (SQL), data warehousing, data mining, database security, web site architecture and development (with database access.) The student is expected to develop a significant programming project in this area.

CISC 491 - Software Dev Processes and Quality (4 credits)

This course builds the foundation for core concepts in the Software Engineering knowledge area, most notably in the Software Processes, Software Design, and Software Evolution knowledge units. Topics include: program comprehension, program correctness, types of errors (syntax, logic, run-time), the concept of a specification, defensive programming (e.g. secure coding, exception handling), code reviews, testing fundamentals and test-case generation, the role and the use of contracts, including pre- and post-conditions, unit testing, simple refactoring, modern programming environments, code search, programming using library components and their APIs, debugging strategies, documentation and program style.

CISC 498 - CISC Project II (3 credits)

This project must be in the student’s program of study or concentration(s). It should demonstrate application of the skills, methods, and knowledge of the discipline to solve a problem or answer a question representative of the type to be encountered in the student’s profession. As with Project I, this is undertaken with the close mentorship of a faculty member, and may involve a community partner. The ideal project has a clear purpose that builds directly upon the learning that occurs within the student’s first project and internship.

CISC 499 - Industry Software Ethics (3 credits)

Ethical obligations have both a professional and a personal dimension. Each are essential to consider; without a sense of personal ethics, one would be indifferent to their effect on the lives of others in circumstances where one’s professional code is silent. So personal ethics helps us to be sure that we take full responsibility for our moral choices and their consequences. This course teaches the students how to gain knowledge and understanding of a number of aspects of this claim, including: the types of harms the public can suffer as result of this work; how software engineers contribute to the food life for others; who exactly are the “public” to whom the engineer is obligated; why the software engineer is obligated to protect the public; what other ethical obligations software engineers are under; how software engineers can actually live up to ethical standards; what is the end goal of an ethical life in software engineering; what are the professional codes of software engineering ethics.

CISC 504 - Principles of Programming Languages (3 credits)

Description:This course explores a topic of collection of topics of special interest that is timely and in response to critical or emerging topics in the broad field of computer information sciences. The student with prior math or engineering education may have a foundation for the statistical concepts they encounter in a computer science graduate program, but not enough programming experience to keep up with the analysis, modeling and creating their own computational solutions. This course is intended to give the student the programming capability and experience required to succeed in their graduate study of master computer information sciences. The course is an application-driven and solution strategies with Python. Furthermore, integration between Python and other languages is also covered. Topics include programming paradigms, functional programming scripting languages, objects, algorithm design and analysis, trees, graphs, sorting and searching. The focus is on how these concepts relate to computational tasks in science and engineering.

CISC 510 - Object-Oriented Software (3 credits)

This course develops fluency in object-oriented design. The student studies semantics of object-oriented languages, strengths and limitations of the object-oriented approach, processes that can lead to good design outcomes, graphical and textual representations for design including UML, common problems and some of the patterns that can solve them, and refactoring utilizing modern IDEs. The student develops an ability to read and critique designs, and to clearly present and advocate design ideas.