KSAWorks
KSAWorks
Knowledge • Skills • Abilities
Pennsylvania Western University · Courses

CMSC

34 courses with the subject CMSC, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.

CMSC 1040Personal Productivity Software3

This course familiarizes students with the use of PC productivity software (word processing, spread sheet management, file management, and presentation software) and its effects on society.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
CMSC 1200Problem Solving and Programming Constructs3

This course will provide the student with basic literacy of computers, present problem solving heuristics and structured programming techniques, present language independent data types, compose operations and programming constructs, introduce arrays and linked lists, and implement fundamental programs using an appropriate programming language.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
CMSC 1240Computer Programming I3

This course builds on CMSC 1200 . It gives the student a thorough understanding of the presently adopted language so that the student will develop the ability to program in the language. Emphasis is placed on efficient software development using structured programming techniques. Students are required to write, test and run programs.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 1200 or CMAC 1200 with a C- or better
CMSC 1250Artificial Intelligence for Everyone3

This course introduces the concepts of Artificial Intelligence and Machine Learning in a way that is accessible to students from all walks of life. The focus of the course is on being able to recognize and interact with the various AI and Machine Learners that we interact with in our everyday lives.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
CMSC 1380Introduction to Programming with Python3

This course develops computational problem solving and programming skills using Python for students in non-computing majors. Students will learn programming constructs and how to develop different solutions that involve analyzing, processing and visualizing data. The course includes hands-on programming activities.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
CMSC 2000Introduction to Cybersecurity3

This course is a broad overview to the field of cybersecurity and serves as a foundation for understanding key concepts related to protecting information assets. Topics include common cyberattacks, cryptography, security protocols, attack mitigation mechanisms, and cyber wellness. Forms the basis for more advanced studies in cybersecurity.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
CMSC 2040Object-Oriented Programming3

Object Oriented Programming- This course teaches object-oriented programming. Object-orientated programming offers a natural method for designing software systems that build on the concepts of data abstraction, information hiding and modularity. Students will design and implement solutions to problems using an object-oriented programming language.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 1240 or CMAC 1240 with a C- or better
CMSC 2100Logic and Switching Theory of the Computer3

This course provides the student with an in-depth study of the basis of digital computers. Number systems, arithmetic operations, codes, Boolean algebra, Boolean minimization techniques, state transition tables and state transition graphs are discussed. Extensive emphasis is placed on the analysis and synthesis of synchronous and asynchronous combinational networks which form digital computers.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
MATH 1510 with a C- or better
CMSC 3010Structured System Documentation3

Students learn to collect and organize the technical elements necessary to create professional quality, structured systems documentation. Students learn to develop systems design and development specifications and various types of logs, and reports that are useful for information systems design and development.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
ENGL 1200 - College Composition with a C- or better AND CMSC 2040 - Object Oriented Programming with a C- or better OR CMIS 3125 Systems Analysis and Design with a C- or better
CMSC 3040Data Structures3

The design, use and programming of data structures, such as stacks, queues, linked lists and binary trees, will be discussed. Sorting and searching methods are also discussed in this course. The analysis of algorithms will be considered as well as the applications of the various data structures.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 2040 or CMAC 2040 with a C- or better
CMSC 3100Assembly3

In this course students will study assembly language. In doing so, students will develop some concepts related to the architecture and operations of the computer. Programs will be written and implemented using the instructions in this assembly language. Constructs such as selection, looping and subprograms will be implemented.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 3040 or CMAC 3040 with a C- or better or
Corequisite
CMSC 3040
CMSC 3140Analysis of Algorithms3

This course covers algorithm analysis theory and techniques. Students learn properties of both efficient and inefficient algorithms. The importance of analyzing algorithms before implementing them will be emphasized. This course will teach the skills necessary to determine the best algorithm for a given problem. We will investigate greedy, graph theoretic, divide and conquer, and distributed algorithms. We will cover both polynomial time algorithms and NP-completeness.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 3040 or CMAC 3040 with a C- or better
CMSC 3180Data Communication and Networking3

This course provides an overview of the basic principles and technologies of data communications and networking systems. Topics include transmission techniques, mutiplexing, flow and error control, routing and congestion control. The course will introduce switched, broadcast and wireless networking technologies. TCP/IP and the OSI protocol architectures will be investigated.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 3240 or CMAC 3090 , and MATH 1510 with a C- or better in all
CMSC 3240Computer Architecture3

This course provides the student with an in-depth study of the organization of the central processing unit, arithmetic logic unit, control unit, instruction formats, and addressing schemes of digital computers. Extensive emphasis is placed on the translation of assembly language instructions into their micro-sequence operations within the control unit and the interconnection and control of registers, arithmetic logic units, memory units, and busses which form the central processing unit and the digital computer.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 3100 with a C- or better
CMSC 3320Technical Computing Using Java3

This course enables the student to acquire a thorough understanding of the Java language and its application in solving engineering and real world problems. Both Java programs and Applets will be studied. Emphasis is placed on efficient software development using structured programming techniques. Students are required to design, write, test, and run programs using an appropriate version of Java.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 2040 or CMAC 2040 with a C- or better
CMSC 3360Fortran3

The FORTRAN language will be studied. Most of the major programming constructs of FORTRAN will be covered, including assignment statements, loops, decisions, subprograms, arrays, character manipulation and file processing. Comparisons with other languages will be made, and documentation of programs will be emphasized.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 1200 or CMAC 1200 with a C- or better
CMSC 3380Python3

This course enables the student to acquire a thorough understanding of the Python language and its application in solving real world problems. Emphasis is placed on efficient software development using structured programming techniques, Object Oriented Programming, GUI interfaces, as well as a variety of Python modules and packages. Students are required to design, write, test, and run programs using an appropriate version of Python.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 1240 or CMIS 1200 or CMAC 1240 with a C- or better
CMSC 3630Machine Learning: Algorithms and Implementation3

This course introduces various machine learning concepts and algorithms. Students will learn about the basics of machine learning as well as how machine learning is used during interactions in their everyday lives. Students will learn how to program various machine learners using an appropriate programming language (for example, Python), starting from raw data and ending with the evaluation/comparison of the results.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 2040 with a C- or better
CMSC 37002D Game Programming3

This course introduces concepts and techniques for the programming of two-dimensional games. Students will learn about the basics of making two-dimensional games, as well as how to work with a two-dimensional game engine environment (for example, GameMaker Studio). Additionally, students will construct at least one two-dimensional game during this course. This course focuses on the programming behind creating games in a commonly used language for that purpose (for example, GML or C++), and as such will also reinforce may important programming concepts from other courses. Offered fall, alternate years.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 2040 with a C- or better
CMSC 37203D Game Programming3

This course introduces concepts and techniques important for the programming of three-dimensional games. Students will learn about the basics of making three-dimensional games, as well as how to work with a three-dimensional game engine environment (for example, Unity). Additionally, students will construct at least one three-dimensional game during the course. This course focuses on the programming behind creating games in a commonly used language for that purpose (for example, GML or C++), and as such will also reinforce many important programming concepts from other courses.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 3700 or CMAC 3700 with a C- or better
CMSC 3730Natural Language Processing3

This course introduces Natural Language Processing (NLP), where computers learn to understand and generate human language. Students will explore tasks like translation, speech recognition, sentence parsing, and formation. Using statistical methods, programming, and machine learning, they’ll gain hands-on experience developing NLP applications.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMAC 2040 with a C- or better
CMSC 3740Mobile Application Development3

This course introduces students to mobile application design and development while utilizing Software Development Kits (SDKs) to develop mobile applications. Students will learn user interface design in combination with event driven programming. An overview of required programming languages and SDK tools will be covered along with object-oriented development, source code control and testing.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMAC 2040 or CMIS 2200 with a C- or better
CMSC 3780Computer Graphics3

Provides an overview and application of the principles and tools of computer graphics. Includes characteristics of graphical display devices, graphics software primitives, representation, manipulation, and display of two- and three-dimensional objects, interactive graphics and the graphical user interface, and animation. Includes graphics programming projects.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 3040 or CMAC 3040 with a C- or better
CMSC 3930Specialized Techniques in Artificial Intelligence3

This course explores advanced, emerging, or otherwise intriguing topics in Artificial Intelligence (AI), including (but not limited to) machine learning, deep learning architectures, reinforcement learning, generative AI, knowledge-based systems, multi-agent systems, and AI reasoning techniques. Students will gain conceptual understanding of the chosen AI technique(s), implement it/them using appropriate programming tools, evaluate its/their performance, and analyze its/their strengths, limitations, and ethical considerations in real-world contexts.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMAC 2040 with a C- or better or CMIS 2200 with a C- or better
CMSC 3990Special Topics in Computer Science1

1 TO 3 Provides for focused study of a special interest topic in computing using learning formats selected by the instructor as best suited for the particular course.

Subject
CMSC
Credits (min)
1
Credits (max)
1
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
CMSC 4000Operating Systems3

This course involves an introductory study of the main elements of an operating system memory management, process management, device management, and file management. An operating system defines an abstraction of hardware behavior with which programmers can control the hardware. It also manages resource sharing among the computer’s users. This course investigates these concepts as well as issues that influence the design of contemporary operating systems, including management of processes, memory, devices, and files. Additional special topics may include scripting, security, fault tolerance, and real-time systems.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 3240 or CMAC 3090 with a C- or better
CMSC 4080Structures of Programming Languages3

Students will study the four categories of programming languages: imperative, object-oriented, functional and logic. An in-depth discussion of the imperative languages will be followed by discussions of the other three paradigms. Students will be required to investigate at least one language.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 3040 with a C- or better
CMSC 4120Parallel Processing3

Studies the architecture, algorithms, and programming that are involved with parallel processing. Students will learn how parallel architecture affects the design of parallel algorithms and parallel programming. Architectures shall include the prevailing message passing and shared memory architectures. Students will learn how to design parallel algorithms and how to think in parallel. Students will learn how to write parallel programs, using a prevailing parallel programming language. Programming may be done by remotely using an account at a supercomputer center, using serial computers that are working together to solve a problem (a cluster), or using an individual computer which has multiple processors within it.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 3040 with a C- or better and CMSC 3240 with a C- or better
CMSC 4140Theory of Languages3

This course is an introduction to abstract machine theory, combinatorial systems, computable functions, and formal linguistics. Topics include finite-state machines, regular sets, Turing machines, Chomsky hierarchy grammars and languages. Emphasis is on surveying basic topics and developing an intuitive understanding in the theory of languages.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
(CMSC 2100 with a C- or better) AND (CMSC 3040 with a C- or better).
CMSC 4180Language Translation3

This course studies the design and construction of compilers. Lexical analysis, syntactic analysis and code generation are investigated in detail. Language design, interpreters, semantic analysis, intermediate code generation and code optimization are also considered.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 4140 or CMAC 4140 with a C- or better
CMSC 4200Artificial Intelligence3

Surveys the thinking and some of the pioneering efforts in the area of artificial intelligence (AI), integrated with more traditional approaches to decision-making. Applies AI principles through the use of logic programming languages.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 3040 or CMAC 3040 with a C- or better
CMSC 4900Senior Project I: Software Engineering3

This course introduces students to software engineering. They will study its history, terminology, requirements, specifications, and design. The students will write requirements, specifications, and design documents, and one or more papers on software engineering topics.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 2040 with a C- or better AND ENGL 1200 with a C- or better
CMSC 4920Senior Project II3

This course is a continuation of CMSC 4900 and the capstone course of the program. The project proposal developed and designed in the first Senior Project class will be implemented in this course. The student will produce a project users’ manual and will demonstrate proficiency in the academic program through the development of the project.

Subject
CMSC
Credits (min)
3
Credits (max)
3
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
CMSC 4900 with a C- or better
CMSC 4950Internship1

1 TO 21 The internship in computer science is intended to give the student an opportunity for on-the-job experience in theoretical or applied computer science. The internship shall incorporate meaningful productive experience usually during the junior year. Time spent and the nature of the experience is usually under the control of the local agency and is used in the determination of the amount of credit obtained. In addition to the hours spent on the job, the student shall also be responsible to the department Internship Coordinator.

Subject
CMSC
Credits (min)
1
Credits (max)
1
Credit unit
Credit Hours
Type
course
Edition
2026-2027
Catalog
2026-2027 Undergraduate Catalog
Source
catalog.pennwest.edu
Prerequisite
Permission of the department Internship Coordinator.

Source: Pennsylvania Western University's catalog, linked per course · table learning_unit · CourseShelf publish 59