Technological advancement is the theme for modern business. Employers are continually searching for the most up-to-date technology that would help their corporations run more efficiently. Without a technical support team, businesses cannot acquire these capabilities. William Penn University’s Computer Science program stresses the importance of teamwork. Group interaction allows students to bring their ideas together and apply them to a variety of hands-on activities.
The computer science program allows students to gain experience through lab work, lectures, and internships. The faculty aims to provide students with the most practical and applicable experience that can be used in the computer science field. Computer Scientists invent and design new approaches to computing and technology and find innovative uses for existing technology. They study complex problems.
This degree lends itself to preparing students for graduate study in computing, bioinformatics, data analytics, and scientific applications of Computer Science.
APCS 101 – Introduction to Computing Professions
1 credit hour
Students will be introduced to various concepts regarding coursework, careers, industries, opportunities, and expectations of Applied Computing professionals. Students will be guided through creating and maintaining an online professional presence and portfolio.
APCS 201 – Programming Fundamentals
2 Credit hours
Concepts of structured programming including control structure design – sequence, selection, iteration and method call; concepts of data abstraction including primitive data types, strings, arrays, library objects and files. Laboratory experience emphasizing application development.
Prerequisite: LDRS 105
APCS 220 – Computer Organization & Digital Circuits
3 credit hours
Introduction to the fundamental principles of digital logic analysis & design, computer organization, and digital communication. Includes logic elements, asynchronous logic, microprocessors, computer architecture, assembly language programming, and operating systems. Open labs. Lab fee required.
Prerequisites: MATH 211 and either MATH 140 or 241; LDRS 105
(APCS 201 or INDU 333 strongly recommended)
APCS 265 – Systems Analysis & Design Methods
3 credit hours
Emphasis on structured analysis & design including the systems development life cycle and agile methodologies. Includes fact finding techniques, data flow diagrams, entity/relationship diagrams, case tools, feasibility analysis, input/output design, user interface design, prototyping, file and database design.
Same as BUSI 265
Prerequisites: LDRS 105 and either APCS 201 or BUSI 130
or consent of the instructor
APCS 312 – Operating Systems
3 credit hours
System software operation which includes the evaluation of the management of processes, memory, files and I/O devices will be covered. Comparison of management schemes will be applied to Windows and Linux. Open labs.
Prerequisite: APCS 220
APCS 326 – Database Management Systems
3 credit hours
Emphasis on database systems used for management information. Examines relational databases and provides concepts for design, development, and implementation of database management information systems. Topics include normalization, SQL, comparison of different database models, backup and recovery, security, and development of an information system.
Same as BUSI 326
Prerequisites: APCS 114 or APCS 265; Junior standing recommended
APCS 360 – Software Engineering Project
3 credit hours
Student-led team projects focus on identifying a problem that can be solved with technology, working with stakeholders to develop requirements, designing a solution using technology, creating a proposal of designed solution(s), working with stakeholders to gather feedback, developing a prototype, and presenting the product to stakeholders. Industry best practice tools for project management, design methodologies, and feedback will be used.
Prerequisites: APCS 265, APCS 326 or consent of instructor
MATH 390 – Professional Development Seminar
2 credit hours
Readings and discussion of professional and ethical issues; preparation of an individual’s professional portfolio. Participation in a professional meeting and presentation of a paper based on original research and/or ideas encountered at the meeting. May be substituted for APCS/INDU/MATH/PHYS 357.
Same as APCS/INDU/PHYS 390
Prerequisite: Junior standing in MATH or consent of instructor
MATH 140 – Pre-Calculus
4 credit hours
Composite and inverse functions, circles, parabolas, exponential/logarithmic functions and equations, trigonometric functions (graphs, inverses), trigonometric identities and equations, law of sines and cosines.
Prerequisite: MATH 102 or equivalent, or a satisfactory score on the Mathematics Assessment Exam, or consent of the instructor.
MATH 211 – Discrete Mathematics
3 Credit hours
Finite math for computer science majors stressing an algorithmic approach. Topics include Boolean algebra, number base conversions, binary arithmetic, matrices and determinants, graph theory, functions, and recursion.
Prerequisite: MATH 140 or equivalent
MATH 220 – Statistical Methods
3 credit hours
A study of applied statistics with emphasis on appropriate use of technology. Topics include probability, correlation, regression, confidence intervals, and hypothesis testing. Students may not receive credit for both MATH 220 and MATH 336. Offered fall and spring semester.
Prerequisites: MATH 102, 120, 210, or equivalent, or consent of instructor.
APCS 206 – Object Oriented Programming
2 Credit hours
Concepts of object-oriented programming including the use of objects and the design of classes including inheritance. Also covers algorithm development including searching, sorting and recursion. Laboratory experience emphasizing application development.
Prerequisite: C- or higher in APCS 201
APCS 305 – Programming Techniques
1 credit hour
Emphasis on problem classification and selection of appropriate problem-solving techniques including algorithm and data structures. Laboratory sessions involving application to “real-life” problems.
Prerequisite: APCS 201 or Consent of instructor
APCS 306 – Introduction to Data Science
3 credit hours
An introduction to techniques for analyzing data to gain insight, draw conclusions, and make decisions. Topics include data visualization, probability and statistics, linear regression, time series analysis, Monte Carlo simulation, data mining, and ethics. Students will also gain experience using a popular programing language for data analytics such as Python or R.
Prerequisites: APCS 206, MATH 303 or higher.
APCS 336 – Web Programming
3 credit hours
Introduction to range of programming and data management tools in the context of full-stack web application development. Students will become familiar with web development concepts and terminology. Web programming, database design and setup are integrated with design techniques and project management to give the student firsthand experience with live website development. Some hands-on experience with software such as Apache, PHP, MySQL, and specialized text editors.
Prerequisite: APCS 201
APCS 345 – Numerical Analysis Methods
3 credit hours
Techniques for curve fitting, interpolation, numerical differentiation and integration; solutions of equations and systems of linear equations; polynomial approximation; error analysis, statistics and eigenvectors. Emphasis on the development of mathematical algorithms and data analysis techniques for solving problems encountered by engineers and scientists. Some solutions will be implemented in a programming environment such as MATLAB or C/C++.
College Physics I is a prerequisite
Prerequisites: MATH 241 and APCS 201
APCS 350 – Data Structures & Algorithm Analysis
4 credit hours
Emphasis on fundamental data structures including strings, stacks, queues, lists, graphs, trees, and heaps. Includes order of magnitude analysis of algorithms, object-oriented programming, searching and sorting methods, and concepts of software engineering for large scale projects. Three lectures and one lab session per week.
Prerequisites: APCS 206, APCS 220; MATH 212 recommended
PHYS 395 – Professional Development Seminar II
1 credit hour
Continuation of professional development in a second area. Preparation of a professional portfolio; presentation of an individual research project or participation in another professional meeting and presentation of a research paper.
Will include a project applying mathematics to the second area of study
Pre/Co-requisite: APCS/INDU/MATH 390
MATH 212 – Introduction to Abstract Mathematics
3 Credit hours
Elementary logic, set theory, inductive and deductive reasoning, methods of proof, relations and orders, countable and uncountable sets. The course will emphasize the basic techniques of reading and writing proofs.
Prerequisite: MATH 211
MATH 241 – Calculus I
4 Credit hours
Limits, continuity, implicit and explicit differentiation, extrema, increasing and decreasing functions, concavity, differentials, antiderivatives, basic integration theory (Riemann sums), and integration by substitution.
Prerequisite: MATH 140 or equivalent
PHYS 211 – College Physics I
5 credit hours
Solid mechanics including kinematics, dynamics and statics; fluid mechanics, waves, periodic motion, sound and light with vector and calculus applications. Three lectures, one laboratory session, and one problem-solving session per week.
Prerequisite: MATH 241 or consent of instructor
PHYS 212 – College Physics II
5 credit hours
Heat transfer, thermodynamics, magnetism; electricity including resistance, capacitance, inductance, series and parallel combinations, DC and AC circuits; electromagnetic waves, atomic structure and modern physics with vector and calculus applications. Three lectures, one laboratory session, and one problem-solving session per week.
Prerequisite: PHYS 211
Take two of the following courses
APCS 207 – Command Line Interface & Scripting Language
3 credit hours
Students will explore and be introduced to the various command line interfaces, operating system navigation, command line editing, bash scripting, automation scripting, PowerShell, and other various terminal technologies.
Prerequisite: APCS 201
APCS 215 – Visual Programming
3 credit hours
Concepts of event driven programming using a visual programming language. Includes screen design and layout, subroutines, arrays, disk files, interfacing with databases, searching techniques and graphics. Laboratory exercises will utilize Visual Studio and the .net framework. Offered fall semester of even-numbered years.
Prerequisite: APCS 206 or consent of instructor
APCS 236 – Virtual Reality & Interactive Graphics
3 credit hours
Students will be exposed to the design of interactive 3D VR environments using industry standard programming languages and gaming engines in a hands-on lab atmosphere. Concepts of object-oriented programming languages, real-time rendering, graphic user interfaces, user interactivity within virtual environments, real-time programming techniques, as well as the creation of 3D assets and texturing from real-world environments will be covered.
Prerequisite: APCS 201
APCS 255 – Testing & Quality Assurance
3 credit hours
A comprehensive study of software testing in traditional structured and unstructured environments using Quality Assurance principles. Students will learn how to improve and control the test process and assess results and learn effective ways of automating test execution in a structured way.
Prerequisite: APCS 201
APCS 311 – Networking
3 credit hours
Networking concepts including switching and routing concepts are covered as well as the design and management of a network system. The management of servers and server software such as Linux or Windows will be included. Network+ and Server+ fundamentals will be covered. Open labs.
Prerequisite: APCS 220
APCS 321 – The Internet of Things
3 credit hours
The course will cover IoT business and engineering principles, electronic and embedded systems, networking protocols, security, fog and cloud integration, simple data analytics, and DSP techniques. Students will apply the IoT concepts in the development of an IoT project prototype.
Prerequisite: APCS 220
APCS 370 – Systems Implementation
3 credit hours
Student-led team projects focus on creating solutions from proposals, designs, and prototypes (derived from APCS 360 and other sources). Student teams will use industry best practice tools, methodologies, and policies to successfully interact with team members, stakeholders, and vendors to implement a technology project.
Prerequisite: APCS 360 or consent of instructor
ENGL 215 – Business and Technical Communications
3 credit hours
Written communications stressing conciseness, clarity, precision, audience, revision, and persuasion. Memoranda, letters, reports, proposals, document design, graphic presentation, and other forms of workplace communications. Students will work in groups and will present their projects in formal presentations.
Prerequisite: LDRS 102
APCS 201 – Programming Fundamentals
2 Credit hours
Concepts of structured programming including control structure design – sequence, selection, iteration and method call; concepts of data abstraction including primitive data types, strings, arrays, library objects and files. Laboratory experience emphasizing application development.
Prerequisite: LDRS 105
APCS 206 – Object Oriented Programming
2 Credit hours
Concepts of object-oriented programming including the use of objects and the design of classes including inheritance. Also covers algorithm development including searching, sorting and recursion. Laboratory experience emphasizing application development.
Prerequisite: C- or higher in APCS 201
APCS 220 – Computer Organization & Digital Circuits
3 credit hours
Introduction to the fundamental principles of digital logic analysis & design, computer organization, and digital communication. Includes logic elements, asynchronous logic, microprocessors, computer architecture, assembly language programming, and operating systems. Open labs. Lab fee required.
Prerequisites: MATH 211 and either MATH 140 or 241; LDRS 105
(APCS 201 or INDU 333 strongly recommended)
APCS 265 – Systems Analysis & Design Methods
3 credit hours
Emphasis on structured analysis & design including the systems development life cycle and agile methodologies. Includes fact finding techniques, data flow diagrams, entity/relationship diagrams, case tools, feasibility analysis, input/output design, user interface design, prototyping, file and database design.
Same as BUSI 265
Prerequisites: LDRS 105 and either APCS 201 or BUSI 130
or consent of the instructor
MATH 211 – Discrete Mathematics
3 Credit hours
Finite math for computer science majors stressing an algorithmic approach. Topics include Boolean algebra, number base conversions, binary arithmetic, matrices and determinants, graph theory, functions, and recursion.
Prerequisite: MATH 140 or equivalent
One of the following
APCS 306 – Introduction to Data Science
3 credit hours
An introduction to techniques for analyzing data to gain insight, draw conclusions, and make decisions. Topics include data visualization, probability and statistics, linear regression, time series analysis, Monte Carlo simulation, data mining, and ethics. Students will also gain experience using a popular programing language for data analytics such as Python or R.
Prerequisites: APCS 206, MATH 303 or higher.
APCS 326 – Database Management Systems
3 credit hours
Emphasis on database systems used for management information. Examines relational databases and provides concepts for design, development, and implementation of database management information systems. Topics include normalization, SQL, comparison of different database models, backup and recovery, security, and development of an information system.
Same as BUSI 326
Prerequisites: APCS 114 or APCS 265; Junior standing recommended
APCS 345 – Numerical Analysis Methods
3 credit hours
Techniques for curve fitting, interpolation, numerical differentiation and integration; solutions of equations and systems of linear equations; polynomial approximation; error analysis, statistics and eigenvectors. Emphasis on the development of mathematical algorithms and data analysis techniques for solving problems encountered by engineers and scientists. Some solutions will be implemented in a programming environment such as MATLAB or C/C++.
College Physics I is a prerequisite
Prerequisites: MATH 241 and APCS 201
One of the following
APCS 207 – Command Line Interface & Scripting Language
3 credit hours
Students will explore and be introduced to the various command line interfaces, operating system navigation, command line editing, bash scripting, automation scripting, PowerShell, and other various terminal technologies.
Prerequisite: APCS 201
APCS 255 – Testing & Quality Assurance
3 credit hours
A comprehensive study of software testing in traditional structured and unstructured environments using Quality Assurance principles. Students will learn how to improve and control the test process and assess results and learn effective ways of automating test execution in a structured way.
Prerequisite: APCS 201
APCS 312 – Operating Systems
3 credit hours
System software operation which includes the evaluation of the management of processes, memory, files and I/O devices will be covered. Comparison of management schemes will be applied to Windows and Linux. Open labs.
Prerequisite: APCS 220
APCS 321 – The Internet of Things
3 credit hours
The course will cover IoT business and engineering principles, electronic and embedded systems, networking protocols, security, fog and cloud integration, simple data analytics, and DSP techniques. Students will apply the IoT concepts in the development of an IoT project prototype.
Prerequisite: APCS 220
APCS 336 – Web Programming
3 credit hours
Introduction to range of programming and data management tools in the context of full-stack web application development. Students will become familiar with web development concepts and terminology. Web programming, database design and setup are integrated with design techniques and project management to give the student firsthand experience with live website development. Some hands-on experience with software such as Apache, PHP, MySQL, and specialized text editors.
Prerequisite: APCS 201
APCS 350 – Data Structures & Algorithm Analysis
4 credit hours
Emphasis on fundamental data structures including strings, stacks, queues, lists, graphs, trees, and heaps. Includes order of magnitude analysis of algorithms, object-oriented programming, searching and sorting methods, and concepts of software engineering for large scale projects. Three lectures and one lab session per week.
Prerequisites: APCS 206, APCS 220; MATH 212 recommended
