Computer Science
Dr. Igor Aizenberg
Computer Science at Manhattan
Computer Science prepares students for careers in basically all industries as designers of algorithms and applications in various areas, AI and cybersecurity professionals, and software engineers.
The Computer Science Department offers B.S. and B.A. degrees in Computer Science, provides the opportunity to pursue an interdisciplinary minor in Computer Science and participates in providing an interdisciplinary minor in Artificial Intelligence.
The B.S. Computer Science undergraduate program is accredited by the Computing Accreditation Commission of ABET.
There are concentration areas in Artificial Intelligence and Machine Learning (AI and ML) and in Cybersecurity within a B.S. degree. The AI and ML concentration includes any three from the following four courses: Neural Networks and Learning Systems, Artificial Intelligence, Data Mining, and Deep Learning & Generative AI. The Cybersecurity concentration includes any three from the following four courses: Cybersecurity Lab, Cryptography and Security, Blockchain Technology, and Web Security.
The Computer Science degree combines depth in all aspects of modern Computer Science theory with the development of high level skills in design of algorithms in various areas and computer programming.
The program includes introduction to computer programming, object-oriented programming beginning with C++ and then Python, data structures and algorithms, discrete structures and fundamentals of discrete mathematics, systems programming with Linux, operating systems, databases, computer organization, computer security, numerical computation, computer networks, software engineering and capstone project design, plus electives in programming languages (Java, R, Matlab, other languages), cloud computing, artificial intelligence, artificial neural networks and machine learning, deep learning and generative AI, data mining, cryptography and cybersecurity, web security, blockchain technology, parallel computing, image processing and analysis, Linux kernel programming and other.
Students are encouraged to participate in programming contests such as the international ACM Collegiate programming contest and summer programs such as Google Summer of Code or research programs held at off-campus locations. With a faculty sponsor, a student may apply for support for an on-campus research project during the summer. Every year students present at the Manhattan University annual student research conference and publish in The Manhattan Scientist journal.
The Department started a graduate program (M.S.) in Computer Science in 2018. This program includes a special one year option for those students who received their undergraduate degree in Computer Science from Manhattan University. Staying only for one more year in the University and taking 24 more credits (8 courses or 6 courses and Master Thesis/Project) students may get their M.S. degree in Computer Science.
Mission Statement
The Computer Science Department strives for excellence in giving our students knowledge through comprehensive educational programs, research, dissemination through scholarly publications, and service to the profession, the community, the state, and the nation.
Program Educational Objectives
Within a few years after their graduation, graduates of the Manhattan University Computer Science Program will:
- Have professional careers in industry, government, academia or entrepreneurship or will be engaged in advanced studies.
- Demonstrate effective teamwork or leadership, with integrity and ethical considerations in their work.
- Continue to enhance their knowledge and adapt to changes in technology as well as a varied and globalized society.
Program Learning Outcomes
Graduates of the program will have an ability to:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
- Apply computer science theory and software development fundamentals to produce computing-based solutions.
The Computer Science programs employ the standard set of ABET student learning outcomes for computing programs.
Degree Plans
General Requirements: Major courses should be taken in accordance with the PLAN OF STUDY listed below. The order in which School of Science core courses are taken is flexible. A minimum grade of C in each of the major courses is required. Before taking any major course, the student must obtain a grade of C or better in the prerequisite courses.
Major Computer Science
A major program in computer science is available in the School of Science within either a curriculum leading to a Bachelor of Science degree or a curriculum leading to a Bachelor of Arts degree.
B.S. in Computer Science
The Department has been working continuously on keeping its B.S. program in such a rapidly developing area as Computer Science up to date. Thus some changes, which are also important for ABET accreditation, were made recently.
Students who entered from 2020 through 2024 should follow the curriculum below:
| MATH 185 | Calculus I | 4 |
| MATH 186 | Calculus II | 4 |
| MATH 351 | Computational Linear Algebra & Statistics for Computer Science | 3 |
| CMPT 101 | Computer Science I | 3 |
| CMPT 102 | Computer Science II | 3 |
| CMPT 238 | Data Structures and Algorithms - I | 3 |
| CMPT 240 | Data Structures and Algorithms - II | 3 |
| CMPT 258 | Database Systems I | 3 |
| EECE 229 | Introduction to Digital Systems | 3 |
| CMPT 312 | Operating Systems | 3 |
| CMPT 334 | Computer Organization | 3 |
| CMPT 335 | Discrete Structures | 3 |
| CMPT 353 | Systems Programming | 3 |
| CMPT 360 | Object Oriented Design with Java | 3 |
| CMPT 367 | Computer Security | 3 |
| CMPT 439 | Numerical Computation | 3 |
| CMPT 456 | Software Engineering | 3 |
| CMPT 466 | Computer Networks | 3 |
| CMPT 490 | Capstone | 4 |
| PHYS 101 & PHYS 191 | Physics I and Physics I Lab | 4 |
| PHYS 102 & PHYS 192 | Physics II and Physics II Lab | 4 |
| PHYS 221 | Physics of Digital Systems | 4 |
| Approved departmental major electives | 15 | |
| SCI 100 | Science Orientation Seminar I | 1 |
| SCI 101 | Science Orientation Seminar II | 1 |
| Total Credits | 89 | |
Students who entered in 2025 should follow the curriculum below:
| MATH 185 | Calculus I | 4 |
| MATH 186 | Calculus II | 4 |
| CMPT 101 | Computer Science I | 3 |
| CMPT 102 | Computer Science II | 3 |
| CMPT 238 | Data Structures and Algorithms - I | 3 |
| CMPT 240 | Data Structures and Algorithms - II | 3 |
| CMPT 258 | Database Systems I | 3 |
| EECE 229 | Introduction to Digital Systems | 3 |
| CMPT 312 | Operating Systems | 3 |
| CMPT 334 | Computer Organization | 3 |
| CMPT 335 | Discrete Structures | 3 |
| CMPT 336 | Simulation and Modeling | 3 |
| CMPT 353 | Systems Programming | 3 |
| CMPT 360 | Object Oriented Design with Java | 3 |
| CMPT 367 | Computer Security | 3 |
| CMPT 439 | Numerical Computation | 3 |
| CMPT 456 | Software Engineering | 3 |
| CMPT 466 | Computer Networks | 3 |
| CMPT 490 | Capstone | 4 |
| PHYS 101 & PHYS 191 | Physics I and Physics I Lab | 4 |
| PHYS 102 & PHYS 192 | Physics II and Physics II Lab | 4 |
| PHYS 221 | Physics of Digital Systems | 4 |
| Approved departmental major electives | 15 | |
| SCI 100 | Science Orientation Seminar I | 1 |
| SCI 101 | Science Orientation Seminar II | 1 |
| Total Credits | 89 | |
Students who entered in 2026 should follow the curriculum below:
| MATH 185 | Calculus I | 4 |
| MATH 186 | Calculus II | 4 |
| CMPT 101 | Computer Science I | 3 |
| CMPT 102 | Computer Science II | 3 |
| CMPT 238 | Data Structures and Algorithms - I | 3 |
| CMPT 240 | Data Structures and Algorithms - II | 3 |
| CMPT 258 | Database Systems I | 3 |
| EECE 229 | Introduction to Digital Systems | 3 |
| CMPT 312 | Operating Systems | 3 |
| CMPT 334 | Computer Organization | 3 |
| CMPT 335 | Discrete Structures | 3 |
| CMPT 336 | Simulation and Modeling | 3 |
| CMPT 342 | Python Programming | 3 |
| CMPT 353 | Systems Programming | 3 |
| CMPT 367 | Computer Security | 3 |
| CMPT 439 | Numerical Computation | 3 |
| CMPT 456 | Software Engineering | 3 |
| CMPT 466 | Computer Networks | 3 |
| CMPT 490 | Capstone | 4 |
| PHYS 101 & PHYS 191 | Physics I and Physics I Lab | 4 |
| PHYS 102 & PHYS 192 | Physics II and Physics II Lab | 4 |
| PHYS 221 | Physics of Digital Systems | 4 |
| Approved departmental major electives | 15 | |
| SCI 100 | Science Orientation Seminar I | 1 |
| SCI 101 | Science Orientation Seminar II | 1 |
| Total Credits | 89 | |
B.A. in Computer Science
Students who entered from 2020 through 2024 should follow the curriculum below:
| MATH 185 | Calculus I | 4 |
| MATH 186 | Calculus II | 4 |
| MATH 351 | Computational Linear Algebra & Statistics for Computer Science | 3 |
| CMPT 101 | Computer Science I | 3 |
| CMPT 102 | Computer Science II | 3 |
| CMPT 238 | Data Structures and Algorithms - I | 3 |
| CMPT 258 | Database Systems I | 3 |
| EECE 229 | Introduction to Digital Systems | 3 |
| CMPT 312 | Operating Systems | 3 |
| CMPT 334 | Computer Organization | 3 |
| CMPT 335 | Discrete Structures | 3 |
| CMPT 353 | Systems Programming | 3 |
| CMPT 360 | Object Oriented Design with Java | 3 |
| CMPT 439 | Numerical Computation | 3 |
| CMPT 456 | Software Engineering | 3 |
| CMPT 466 | Computer Networks | 3 |
| CMPT 490 | Capstone | 4 |
| Approved departmental major electives | 12 | |
| Three SCI 2xx courses * | 9 | |
| SCI 100 | Science Orientation Seminar I | 1 |
| SCI 101 | Science Orientation Seminar II | 1 |
| Total Credits | 77 | |
- *
Students may opt instead to take one (1) full year of a science with lab (8 credits, that is two science courses with labs). In this case total credits required in this core for graduation is 76 instead of 77
Students who entered in 2025 should follow the curriculum below:
| MATH 185 | Calculus I | 4 |
| MATH 186 | Calculus II | 4 |
| CMPT 101 | Computer Science I | 3 |
| CMPT 102 | Computer Science II | 3 |
| CMPT 238 | Data Structures and Algorithms - I | 3 |
| CMPT 258 | Database Systems I | 3 |
| EECE 229 | Introduction to Digital Systems | 3 |
| CMPT 312 | Operating Systems | 3 |
| CMPT 334 | Computer Organization | 3 |
| CMPT 335 | Discrete Structures | 3 |
| CMPT 336 | Simulation and Modeling | 3 |
| CMPT 353 | Systems Programming | 3 |
| CMPT 360 | Object Oriented Design with Java | 3 |
| CMPT 439 | Numerical Computation | 3 |
| CMPT 456 | Software Engineering | 3 |
| CMPT 466 | Computer Networks | 3 |
| CMPT 490 | Capstone | 4 |
| Approved departmental major electives | 12 | |
| Three SCI 2xx courses * | 9 | |
| SCI 100 | Science Orientation Seminar I | 1 |
| SCI 101 | Science Orientation Seminar II | 1 |
| Total Credits | 77 | |
- *
Students may opt instead to take one (1) full year of a science with lab (8 credits, that is two science courses with labs). In this case total credits required in this core for graduation is 76 instead of 77
Students who entered in 2026 should follow the curriculum below:
| MATH 185 | Calculus I | 4 |
| MATH 186 | Calculus II | 4 |
| CMPT 101 | Computer Science I | 3 |
| CMPT 102 | Computer Science II | 3 |
| CMPT 238 | Data Structures and Algorithms - I | 3 |
| CMPT 258 | Database Systems I | 3 |
| EECE 229 | Introduction to Digital Systems | 3 |
| CMPT 312 | Operating Systems | 3 |
| CMPT 334 | Computer Organization | 3 |
| CMPT 335 | Discrete Structures | 3 |
| CMPT 336 | Simulation and Modeling | 3 |
| CMPT 342 | Python Programming | 3 |
| CMPT 353 | Systems Programming | 3 |
| CMPT 439 | Numerical Computation | 3 |
| CMPT 456 | Software Engineering | 3 |
| CMPT 466 | Computer Networks | 3 |
| CMPT 490 | Capstone | 4 |
| Approved departmental major electives | 12 | |
| Three SCI 2xx courses * | 9 | |
| SCI 100 | Science Orientation Seminar I | 1 |
| SCI 101 | Science Orientation Seminar II | 1 |
| Total Credits | 77 | |
- *
Students may opt instead to take one (1) full year of a science with lab (8 credits, that is two science courses with labs). In this case total credits required in this core for graduation is 76 instead of 77
Minor in Computer Science
The minor in Computer Science consists of a minimum of 15 credits. Specific requirements are listed below. A grade of at least C is required for all courses meeting the requirements for a minor in Computer Science. Note: CMPT 155 and CMPT 214 will not be credited toward the minor in Computer Science.
Transfer Credit: At most one course transferred from another institution may be credited toward the fifteen credits required for a minor. A minimum of four courses, 12 credits, must be taken within the Department of Computer Science at Manhattan University.
Application: You need to consult with the Chair of the Computer Science Department and ask your academic adviser to assist you with a respective paperwork and adding minor to your Degree Works.
Minor Requirement for Students in the School of Engineering
| The following two courses are required: | ||
| CMPT 102 | Computer Science II | 3 |
| CMPT 238 | Data Structures and Algorithms - I | 3 |
| Electives: Any three CMPT courses at the 2xx-4xx level, not including CMPT 214 and CMPT 238 | 9 | |
Minor Requirements for Students in the Kakos Schools of Arts and Sciences (except students pursuing B.S. degree in Game Design and Production - Coding concentration) and O'Malley School of Business
| The following three courses are required: | ||
| CMPT 101 | Computer Science I | 3 |
| CMPT 102 | Computer Science II | 3 |
| CMPT 238 | Data Structures and Algorithms - I | 3 |
| Electives: Two CMPT courses at the 2xx-4xx level, not including CMPT 214 and CMPT 238 | 6 | |
Minor Requirements for Students pursuing B.S. degree in Game Design and Production - Coding concentration
| The following two courses are required: | ||
| CMPT 102 | Computer Science II | 3 |
| CMPT 240 | Data Structures and Algorithms - II | 3 |
| Electives: Any 3 CMPT courses at the 2xx-4xx level, not including CMPT 214 and CMPT 238 | 9 | |
Minor in Artificial Intelligence (AI)
AI has become a foundational technology affecting nearly all academic disciplines and professional fields. While all students routinely use AI‑enabled tools, it should also be important to learn and understand AI fundamentals, including how such systems function, their limitations, and the ethical considerations surrounding their use. The Computer Science Department participates in this interdisciplinary minor.
The Minor in AI provides structured, interdisciplinary instruction in AI fundamentals to students from all majors. Its academic objective is to ensure that graduates possess a baseline understanding of AI concepts, design principles, and responsible application relevant to their fields of study.
The curriculum is designed to accommodate students with varied academic backgrounds. Thus, the curriculum explicitly recognizes that students enter the minor with varying levels of preparation. Multiple pathways are included to distinguish between students with prior coursework in programming and quantitative methods and those without such backgrounds.
Transfer Credit: At most one course transferred from another institution may be credited toward the credits required for a minor.
Application: You need to consult with the Chair of the respective Department in your school (the Computer Science Department for all KSAS students) and ask your academic adviser to assist you with a respective paperwork and adding minor to your Degree Works.
The minor consists of an AI core drawn from courses offered across the three participating schools, supplemented by prerequisite coursework where necessary. Students will complete either five or six courses, with a minimum of three drawn from the AI core.
AI Core
| AI Core courses | ||
| 1st option: 1 out of the following 3 courses | ||
| CMPT 363 | Data Mining | 3 |
| or | ||
| BUAN 410 | Data Mining for Business Applications | 3 |
| or | ||
| EECE 478 | Applied Data Mining for Engineers | 3 |
| 2nd option: 1 of the following 4 courses | ||
| CMPT 420 | Artificial Intelligence | 3 |
| or | ||
| BUAN 427 | Artificial lntelligence and Machine Learning | 3 |
| or | ||
| EECE 471 | Artificial Intelligence Applications in Electrical & Computer Engineering | 3 |
| or | ||
| MECH 442 | Artificial Intelligence Applications in Mechanical Engineering | 3 |
| 3rd option: 1 out of the following 2 courses | ||
| CMPT 465 | Neural Networks and Learning Systems | 3 |
| or | ||
| EECE 448 | Applied Machine Learning for Electrical & Computer Engineering | 3 |
| Other courses | ||
| CMPT 471 | Parallel Computing | 3 |
| CMPT 485 | Deep Learning & Generative AI | 3 |
| MATH 455 | Operations Research | 3 |
| MATH 457 | Machine Learning | 3 |
| EECE 403 | Trustworthy AI Applications in Electrical & Computer Engineering | 3 |
| EECE 447 | Image Processing & Pattern Recognition | 3 |
| EECE 483 | Cognitive-AI Based Eng Design | 3 |
| EECE 494 | Special Topics in Artificial Intelligence (AI) in Electrical and Computer Engineering | 3 |
| MECH 438 | Operation Research | 3 |
| MECH 475 | Data Driven Problem Solving in Mechanical Engineering | 3 |
| CHML 241 | Data Analytics for Chemical Engineers | 3 |
Major specific Minor in AI tracks for students in the Kakos Schools of Arts and Sciences
1) Track for KSAS students (except CMPT, MATH, PHYS, and Game Design and Production – Coding Concentration) - 18 credits:
| The following two courses are required: | ||
| CMPT 101 | Computer Science I | 3 |
| CMPT 102 | Computer Science II | 3 |
| CMPT 335 | Discrete Structures | 3 |
| Electives: Three courses from the AI core (at least two of them must be CMPT) | 9 | |
2) Track for KSAS students majoring in PHYS - 15 credits:
| The following two courses are required: | ||
| CMPT 102 | Computer Science II | 3 |
| CMPT 335 | Discrete Structures | 3 |
| Electives: Three courses from the AI core (at least two of them must be CMPT) | 9 | |
3) Track for KSAS students majoring in MATH - 15 credits
| The following course is required: | ||
| CMPT 102 | Computer Science II | 3 |
| Electives: Four courses from the AI core (at least three of them must be CMPT) | 12 | |
4) Track for KSAS students majoring in CMPT and Game Design and Production – Coding Concentration - 15 credits
| Electives: Five courses from the AI core (at least three of them must be CMPT) | 15 | |
| Remark: To avoid double dipping, CMPT majors cannot count more than one CMPT course taken for Minor in AI towards their major | ||
Major specific Minor in AI tracks for students in the O'Malley School of Business
1) Track for all OMSB majors except CIS and BUAN - 18 credits:
| The following three courses are required: | ||
| CIS 205 | Introduction to Programming for Business Applications | 3 |
| CIS 310 | Business Data and Information Management | 3 |
| CMPT 342 | Python Programming | 3 |
| Electives: Three courses from the AI core (at least one of them must be CMPT) | 9 | |
2) Track for OMSB BUAN majors - 15 credits:
| The following two courses are required: | ||
| BUAN 167 | AI Essentials for Business Applications | 3 |
| CMPT 342 | Python Programming | 3 |
| Electives: Three courses from the AI core (at least two of them must be CMPT) | 9 | |
3) Track for Track for OMSB CIS majors - 15 credits:
15 credits:
| The following two courses are required: | ||
| BUAN 167 | AI Essentials for Business Applications | 3 |
| CMPT 342 | Python Programming | 3 |
| Electives: Three courses from the AI core (at least one of them must be CMPT) | 9 | |
Minor in AI track for students in the School of Engineering (except Electrical Engineering and Computer Engineering) - 15 credits
| The following two courses are required: | ||
| EECE 210 | Applied Software Engineering I | 3 |
| EECE 300 Fundamentals of Electrical and Computer Engineering for Non-ECE Students | 3 | |
| Electives: Three courses from the AI core (at least one of them must be EECE) | 9 | |
PLANS OF STUDY FOR BS AND BA IN COMPUTER SCIENCE
Bachelor of Science in Computer Science
Students who entered between 2020 through 2024 should follow the following plan of study:
| First Year | |||
|---|---|---|---|
| Fall | Credits | Spring | Credits |
| CMPT 101 | 3 | CMPT 102 | 3 |
| MATH 185 | 4 | CMPT 335 | 3 |
| SCI 100 | 1 | MATH 186 | 4 |
| Modern Language* | 3 | Modern Language* | 3 |
| RELS 110 | 3 | ENGL 110 | 3 |
| LLRN 102 | 3 | SCI 101 | 1 |
| 17 | 17 | ||
| Second Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 238 | 3 | CMPT 240 | 3 |
| CMPT 360 | 3 | CMPT 258 | 3 |
| MATH 351 | 3 | PHYS 102 & PHYS 192 | 4 |
| PHYS 101 & PHYS 191 | 4 | Social Science | 3 |
| PHIL 150 | 3 | ENGL 150 | 3 |
| 16 | 16 | ||
| Third Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 353 | 3 | CMPT 312 | 3 |
| CMPT 439 | 3 | CMPT 334 | 3 |
| CMPT 466 | 3 | PHYS 221 | 4 |
| EECE 229 | 3 | CMPT Elective | 3 |
| RELS Catholic Studies | 3 | MUSC 150 or ART 150 | 3 |
| 15 | 16 | ||
| Fourth Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 456 | 3 | CMPT 367 | 3 |
| CMPT Electives | 6 | CMPT 490 | 4 |
| RELS Global/Contemporary | 3 | CMPT Electives | 6 |
| HIST 150 | 3 | Social Science | 3 |
| 15 | 16 | ||
| Total Credits: 128 | |||
- *
One year sequence of a modern foreign language.
Students who entered in 2025 should follow the following plan of study:
| First Year | |||
|---|---|---|---|
| Fall | Credits | Spring | Credits |
| CMPT 101 | 3 | CMPT 102 | 3 |
| MATH 185 | 4 | CMPT 335 | 3 |
| SCI 100 | 1 | SCI 101 | 1 |
| Modern Language* | 3 | MATH 186 | 4 |
| RELS 110 | 3 | Modern Language* | 3 |
| ENGL 110 | 3 | LLRN 105 | 3 |
| 17 | 17 | ||
| Second Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 238 | 3 | CMPT 240 | 3 |
| CMPT 336 | 3 | CMPT 258 | 3 |
| CMPT 360 | 3 | PHYS 102 & PHYS 192 | 4 |
| PHYS 101 & PHYS 191 | 4 | Social Science | 3 |
| PHIL 150 | 3 | ENGL 150 | 3 |
| 16 | 16 | ||
| Third Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 353 | 3 | CMPT 312 | 3 |
| CMPT 439 | 3 | CMPT 334 | 3 |
| CMPT 466 | 3 | PHYS 221 | 4 |
| EECE 229 | 3 | CMPT Elective | 3 |
| RELS Catholic Studies | 3 | MUSC 150 or ART 150 | 3 |
| 15 | 16 | ||
| Fourth Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 456 | 3 | CMPT 367 | 3 |
| CMPT Electives | 6 | CMPT 490 | 4 |
| RELS Global/Contemporary | 3 | CMPT Electives | 6 |
| HIST 150 | 3 | Social Science | 3 |
| 15 | 16 | ||
| Total Credits: 128 | |||
- *
One year sequence of a modern foreign language.
Students who entered in 2026 should follow the following plan of study:
| First Year | |||
|---|---|---|---|
| Fall | Credits | Spring | Credits |
| CMPT 101 | 3 | CMPT 102 | 3 |
| MATH 185 | 4 | CMPT 335 | 3 |
| SCI 100 | 1 | SCI 101 | 1 |
| Modern Language* | 3 | MATH 186 | 4 |
| RELS 110 | 3 | Modern Language* | 3 |
| ENGL 110 | 3 | LLRN 105 | 3 |
| 17 | 17 | ||
| Second Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 238 | 3 | CMPT 240 | 3 |
| CMPT 336 | 3 | CMPT 258 | 3 |
| CMPT 342 | 3 | PHYS 102 & PHYS 192 | 4 |
| PHYS 101 & PHYS 191 | 4 | Social Science | 3 |
| PHIL 150 | 3 | ENGL 150 | 3 |
| 16 | 16 | ||
| Third Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 353 | 3 | CMPT 312 | 3 |
| CMPT 439 | 3 | CMPT 334 | 3 |
| CMPT 466 | 3 | PHYS 221 | 4 |
| EECE 229 | 3 | CMPT Elective | 3 |
| RELS Catholic Studies | 3 | MUSC 150 or ART 150 | 3 |
| 15 | 16 | ||
| Fourth Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 456 | 3 | CMPT 367 | 3 |
| CMPT Electives | 6 | CMPT 490 | 4 |
| RELS Global/Contemporary | 3 | CMPT Electives | 6 |
| HIST 150 | 3 | Social Science | 3 |
| 15 | 16 | ||
| Total Credits: 128 | |||
- *
One year sequence of a modern foreign language.
Bachelor of Arts in Computer Science
Student who entered between 2020 through 2024 and take nine credits of SCI 2xx courses should follow the following 125-credit plan of study:
| First Year | |||
|---|---|---|---|
| Fall | Credits | Spring | Credits |
| CMPT 101 | 3 | CMPT 102 | 3 |
| MATH 185 | 4 | CMPT 335 | 3 |
| SCI 100 | 1 | MATH 186 | 4 |
| Modern Language* | 3 | Modern Language* | 3 |
| RELS 110 | 3 | ENGL 110 | 3 |
| LLRN 102 | 3 | SCI 101 | 1 |
| 17 | 17 | ||
| Second Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 238 | 3 | CMPT 258 | 3 |
| CMPT 360 | 3 | SCI 2xx** | 3 |
| SCI 2xx** | 3 | ENGL 150 | 3 |
| MATH 351 | 3 | Social Science | 3 |
| PHIL 150 | 3 | Free Elective | 3 |
| 15 | 15 | ||
| Third Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 353 | 3 | CMPT 312 | 3 |
| CMPT 439 | 3 | CMPT 334 | 3 |
| CMPT 466 | 3 | RELS Catholic Studies | 3 |
| EECE 229 | 3 | MUSC 150 or ART 150 | 3 |
| SCI 2xx** | 3 | CMPT Elective | 3 |
| 15 | 15 | ||
| Fourth Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 456 | 3 | CMPT 490 | 4 |
| CMPT Elective | 3 | RELS Global/Contemporary | 3 |
| Free Electives | 3 | CMPT Elective | 6 |
| Social Science | 3 | Free Electives | 3 |
| HIST 150 | 3 | ||
| 15 | 16 | ||
| Total Credits: 125 | |||
- *
One year sequence of a modern foreign language.
- **
Students may opt instead to take one (1) full year of a lab science (8 credits) in this case total credits for graduation is 124.
Students who entered between 2020 through 2024 and take two, eight credit Science courses with labs should follow the following 124-credit plan of study:
| First Year | |||
|---|---|---|---|
| Fall | Credits | Spring | Credits |
| CMPT 101 | 3 | CMPT 102 | 3 |
| MATH 185 | 4 | CMPT 335 | 3 |
| SCI 100 | 1 | MATH 186 | 4 |
| Modern Language* | 3 | Modern Language* | 3 |
| RELS 110 | 3 | ENGL 110 | 3 |
| LLRN 102 | 3 | SCI 101 | 1 |
| 17 | 17 | ||
| Second Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 238 | 3 | CMPT 258 | 3 |
| CMPT 360 | 3 | SCI with Lab II | 4 |
| SCI with Lab I | 4 | ENGL 150 | 3 |
| MATH 351 | 3 | Social Science | 3 |
| PHIL 150 | 3 | Free Elective | 3 |
| 16 | 16 | ||
| Third Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 353 | 3 | CMPT 312 | 3 |
| CMPT 439 | 3 | CMPT 334 | 3 |
| CMPT 466 | 3 | RELS Catholic Studies | 3 |
| EECE 229 | 3 | MUSC 150 or ART 150 | 3 |
| undefined | CMPT Elective | 3 | |
| 12 | 15 | ||
| Fourth Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 456 | 3 | CMPT 490 | 4 |
| CMPT Elective | 3 | RELS Global/Contemporary | 3 |
| Free Electives | 3 | CMPT Elective | 6 |
| Social Science | 3 | Free Electives | 3 |
| HIST 150 | 3 | ||
| 15 | 16 | ||
| Total Credits: 124 | |||
- *
One year sequence of a modern foreign language.
Students who entered in 2025 and take nine credits of SCI 2xx courses should follow the following 125-credit plan of study:
| First Year | |||
|---|---|---|---|
| Fall | Credits | Spring | Credits |
| CMPT 101 | 3 | CMPT 102 | 3 |
| MATH 185 | 4 | CMPT 335 | 3 |
| SCI 100 | 1 | SCI 101 | 1 |
| Modern Language* | 3 | MATH 186 | 4 |
| RELS 110 | 3 | Modern Language* | 3 |
| ENGL 110 | 3 | LLRN 105 | 3 |
| 17 | 17 | ||
| Second Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 238 | 3 | CMPT 258 | 3 |
| CMPT 336 | 3 | SCI 2xx** | 3 |
| CMPT 360 | 3 | ENGL 150 | 3 |
| SCI 2xx** | 3 | Social Science | 3 |
| PHIL 150 | 3 | Free Elective | 3 |
| 15 | 15 | ||
| Third Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 353 | 3 | CMPT 312 | 3 |
| CMPT 439 | 3 | CMPT 334 | 3 |
| CMPT 466 | 3 | RELS Catholic Studies | 3 |
| EECE 229 | 3 | MUSC 150 or ART 150 | 3 |
| SCI 2xx** | 3 | CMPT Elective | 3 |
| 15 | 15 | ||
| Fourth Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 456 | 3 | CMPT 490 | 4 |
| CMPT Elective | 3 | RELS Global/Contemporary | 3 |
| Free Electives | 3 | CMPT Elective | 6 |
| Social Science | 3 | Free Electives | 3 |
| HIST 150 | 3 | ||
| 15 | 16 | ||
| Total Credits: 125 | |||
- *
One year sequence of a modern foreign language.
- **
Students may opt instead to take one (1) full year of a lab science (8 credits) in this case total credits for graduation is 124.
Students who entered in 2026 and take nine credits of SCI 2xx courses should follow the following 125-credit plan of study:
| First Year | |||
|---|---|---|---|
| Fall | Credits | Spring | Credits |
| CMPT 101 | 3 | CMPT 102 | 3 |
| MATH 185 | 4 | CMPT 335 | 3 |
| SCI 100 | 1 | SCI 101 | 1 |
| Modern Language* | 3 | MATH 186 | 4 |
| RELS 110 | 3 | Modern Language* | 3 |
| ENGL 110 | 3 | LLRN 105 | 3 |
| 17 | 17 | ||
| Second Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 238 | 3 | CMPT 258 | 3 |
| CMPT 336 | 3 | SCI 2xx** | 3 |
| CMPT 342 | 3 | ENGL 150 | 3 |
| SCI 2xx** | 3 | Social Science | 3 |
| PHIL 150 | 3 | Free Elective | 3 |
| 15 | 15 | ||
| Third Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 353 | 3 | CMPT 312 | 3 |
| CMPT 439 | 3 | CMPT 334 | 3 |
| CMPT 466 | 3 | RELS Catholic Studies | 3 |
| EECE 229 | 3 | MUSC 150 or ART 150 | 3 |
| SCI 2xx** | 3 | CMPT Elective | 3 |
| 15 | 15 | ||
| Fourth Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 456 | 3 | CMPT 490 | 4 |
| CMPT Elective | 3 | RELS Global/Contemporary | 3 |
| Free Electives | 3 | CMPT Elective | 6 |
| Social Science | 3 | Free Electives | 3 |
| HIST 150 | 3 | ||
| 15 | 16 | ||
| Total Credits: 125 | |||
- *
One year sequence of a modern foreign language.
- **
Students may opt instead to take one (1) full year of a lab science (8 credits) in this case total credits for graduation is 124.
Students who entered between 2020 through 2024 and take two, eight credit science courses with labs should follow the following 124-credit plan of study:
| First Year | |||
|---|---|---|---|
| Fall | Credits | Spring | Credits |
| CMPT 101 | 3 | CMPT 102 | 3 |
| MATH 185 | 4 | CMPT 335 | 3 |
| SCI 100 | 1 | SCI 101 | 1 |
| Modern Language* | 3 | MATH 186 | 4 |
| RELS 110 | 3 | Modern Language* | 3 |
| ENGL 110 | 3 | LLRN 105 | 3 |
| 17 | 17 | ||
| Second Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 238 | 3 | CMPT 258 | 3 |
| CMPT 360 | 3 | SCI with Lab II | 4 |
| MATH 351 | 3 | ENGL 150 | 3 |
| SCI with Lab I | 4 | Social Science | 3 |
| PHIL 150 | 3 | Free Elective | 3 |
| 16 | 16 | ||
| Third Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 353 | 3 | CMPT 312 | 3 |
| CMPT 439 | 3 | CMPT 334 | 3 |
| CMPT 466 | 3 | RELS Catholic Studies | 3 |
| EECE 229 | 3 | MUSC 150 or ART 150 | 3 |
| undefined | CMPT Elective | 3 | |
| 12 | 15 | ||
| Fourth Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 456 | 3 | CMPT 490 | 4 |
| CMPT Elective | 3 | RELS Global/Contemporary | 3 |
| Free Electives | 3 | CMPT Elective | 6 |
| Social Science | 3 | Free Electives | 3 |
| HIST 150 | 3 | ||
| 15 | 16 | ||
| Total Credits: 124 | |||
- *
One year sequence of a modern foreign language.
Students who entered in 2025 and take two, eight credit science courses with labs should follow the following 124-credit plan of study:
| First Year | |||
|---|---|---|---|
| Fall | Credits | Spring | Credits |
| CMPT 101 | 3 | CMPT 102 | 3 |
| MATH 185 | 4 | CMPT 335 | 3 |
| SCI 100 | 1 | SCI 101 | 1 |
| Modern Language* | 3 | MATH 186 | 4 |
| RELS 110 | 3 | Modern Language* | 3 |
| ENGL 110 | 3 | LLRN 105 | 3 |
| 17 | 17 | ||
| Second Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 238 | 3 | CMPT 258 | 3 |
| CMPT 336 | 3 | SCI with Lab II | 4 |
| CMPT 360 | 3 | ENGL 150 | 3 |
| SCI with Lab I | 4 | Social Science | 3 |
| PHIL 150 | 3 | Free Elective | 3 |
| 16 | 16 | ||
| Third Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 353 | 3 | CMPT 312 | 3 |
| CMPT 439 | 3 | CMPT 334 | 3 |
| CMPT 466 | 3 | RELS Catholic Studies | 3 |
| EECE 229 | 3 | MUSC 150 or ART 150 | 3 |
| undefined | CMPT Elective | 3 | |
| 12 | 15 | ||
| Fourth Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 456 | 3 | CMPT 490 | 4 |
| CMPT Elective | 3 | RELS Global/Contemporary | 3 |
| Free Electives | 3 | CMPT Elective | 6 |
| Social Science | 3 | Free Electives | 3 |
| HIST 150 | 3 | ||
| 15 | 16 | ||
| Total Credits: 124 | |||
- *
One year sequence of a modern foreign language.
Students who entered in 2026 and who take two, eight credit science courses with labs should follow the following 124-credit plan of study:
| First Year | |||
|---|---|---|---|
| Fall | Credits | Spring | Credits |
| CMPT 101 | 3 | CMPT 102 | 3 |
| MATH 185 | 4 | CMPT 335 | 3 |
| SCI 100 | 1 | SCI 101 | 1 |
| Modern Language* | 3 | MATH 186 | 4 |
| RELS 110 | 3 | Modern Language* | 3 |
| ENGL 110 | 3 | LLRN 105 | 3 |
| 17 | 17 | ||
| Second Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 238 | 3 | CMPT 258 | 3 |
| CMPT 336 | 3 | SCI with Lab II | 4 |
| CMPT 342 | 3 | ENGL 150 | 3 |
| SCI with Lab I | 4 | Social Science | 3 |
| PHIL 150 | 3 | Free Elective | 3 |
| 16 | 16 | ||
| Third Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 353 | 3 | CMPT 312 | 3 |
| CMPT 439 | 3 | CMPT 334 | 3 |
| CMPT 466 | 3 | RELS Catholic Studies | 3 |
| EECE 229 | 3 | MUSC 150 or ART 150 | 3 |
| undefined | CMPT Elective | 3 | |
| 12 | 15 | ||
| Fourth Year | |||
| Fall | Credits | Spring | Credits |
| CMPT 456 | 3 | CMPT 490 | 4 |
| CMPT Elective | 3 | RELS Global/Contemporary | 3 |
| Free Electives | 3 | CMPT Elective | 6 |
| Social Science | 3 | Free Electives | 3 |
| HIST 150 | 3 | ||
| 15 | 16 | ||
| Total Credits: 124 | |||
- *
One year sequence of a modern foreign language.
| The following two courses are required: | ||
| CMPT 101 | Computer Science I | 3 |
| CMPT 102 | Computer Science II | 3 |
| CMPT 335 | Discrete Structures | 3 |
| Electives: | 9 | |
| Three courses from the AI core (at least two of them must be CMPT) | ||
2)
Courses
CMPT 101. Computer Science I. 3 Credits.
An introduction to basic programming concepts and problem solving skills using the C++ language. Topics include flow of control, loops, functions, arrays, strings and files. CMPT 101 cannot be taken after CMPT 102.
CMPT 102. Computer Science II. 3 Credits.
An introduction to advance programming concepts using the C++ language. Topics include pointers, structured data, classes, inheritance, poloymorphism, exceptions, templates, and recursion. Prerequisite: A grade of C or better in CMPT 101 or ENGR 116.
CMPT 155. Computer Applications for Life Sciences. 3 Credits.
This course explores the use of the computer for analyzing data appropriate to the life sciences. Topics include using electronic spreadsheets and other dedicated software for research: worksheet basics, formulas and functions, charts and graphics, passing data sets between applications; computer representatons of growth and decay models, linear, exponential and logarithmic regression; statistical functions and probability distributions, matrices.
CMPT 238. Data Structures and Algorithms - I. 3 Credits.
Efficiency of search, sort, and hash algorithms. Stacks, queues, priority queues, binary trees, binary search trees, general trees, heaps, and heapsort. Fall. Prerequisite: A grade of C or better in CMPT 102 or CMPT 201.
CMPT 240. Data Structures and Algorithms - II. 3 Credits.
This course describes in depth the algorithm analysis techniques, asymptotic notations, worse-case analysis, greedy algorithms, divide and conquer algorithms, dynamic programming algorithms, graph algorithms, and NP-completeness. This course also covers heaps, heap sort, and priority queues. Prerequisites: A grade of C or better in CMPT 238.
CMPT 241. Web Programming. 3 Credits.
An introduction to Web programming using HTML, CSS and Javascript for development of Web-based applications. Current server-side scripting languages such as PHP will be used for creating dynamic Web pages. Spring. Prerequisite: A grade of C or better in CMPT 102 or CMPT 201 or permission of the instructor.
CMPT 258. Database Systems I. 3 Credits.
An introduction to database system concepts; SQL, database design, normalizing tables, functional dependencies, entity-relationship and relational database models; use of object-oriented design and event programming. Fall Prerequisite: A grade of C or better in CMPT 102 or CMPT 201 or permission of the instructor.
CMPT 312. Operating Systems. 3 Credits.
File systems, CPU scheduling, memory management, virtual memory and machines, disk scheduling, deadlocks and their prevention, concurrency, protection mechanisms, multiprocessors, distributed systems. A survey of the services provided by some of the more popular operating systems. Spring. Prerequisite: A grade of C or better in CMPT 353 or permission of the instructor.
CMPT 334. Computer Organization. 3 Credits.
A study of the internal architecture of a computer. Topics include instruction sets, hardwired and microprogrammed control unit designs, memory systems, I/O systems, introduction to pipeline and parallel processing. Spring. Prerequisite: A grade of C or better in EECE 229 or permission of the instructor.
CMPT 335. Discrete Structures. 3 Credits.
A study of concepts and fundamentals of propositional logic, logic of predicates, sets and set operations, mathematical induction, modular arithmetic, relations, coding theory and encryption. Detailed consideration of structures most frequently encountered in computer science: graphs, trees, and operations on them. Spring (and Fall if needed). Prerequisite: A grade of C or better in CMPT 101 or CMPT 201.
CMPT 336. Simulation and Modeling. 3 Credits.
A study of foundations used in computing models and simulations, including models and simulations in machine learning and cybersecurity. This includes a study of computational linear algebra (spaces, linear transformations, systems of linear equations including overdetermined systems) and applied probability (counting techniques, probability, random variables and distributions, statistical analysis).
Prerequisite: A grade of C or better in CMPT-335 and MATH-185.
CMPT 341. Programming Languages. 3 Credits.
Study of modern programming languages different from C++ and Java (Python and C# or other popular modern programming languages can be covered). Study of language specification and analysis, control structures and data flow. Prerequisites: A grade of C or better in CMPT-102 or CMPT-201.
CMPT 342. Python Programming. 3 Credits.
This course provides an overview of Python programming and covers the fundamentals, the object-oriented features, and design of applications. The emphasis will be on the logical analysis of a problem and the formulation of a computer program leading to its solution using Python. Students will be required to work on a variety of programming assignments in Python. Topics include but are not limited to class design, inheritance, polymorphism, design of applications, and AI-related applications in particular.
Prerequisites: grade C or higher in CMPT-102 or in BUAN-205 or in CIS-205.
Cross-listed with CMPG-742 Python Programming.
CMPT 353. Systems Programming. 3 Credits.
C programming language. Introduction to the UNIX/Linux operating system and shell programming. Design and implementation of selected systems software in the UNIX/Linux environment. Introduction to Perl. Fall. Prerequisite: A grade C or better in CMPT 102 or CMPT 201 and CMPT 238 or CMPT 239.
CMPT 360. Object Oriented Design with Java. 3 Credits.
An introduction to object-oriented design using the programming language Java. Classes, objects, inheritance, abstract types, polymorphism, the Liskov substitution principle, design patterns, generics, iterators, and generators. Spring. Prerequisite: A grade C or better in CMPT 102 or CMPT 201.
CMPT 363. Data Mining. 3 Credits.
This course focuses on fundamental data mining algorithms and their applications in the process of knowledge discovery. The course will cover the general aspects and techniques of analyzing large, complex datasets, recognizing patterns and making predictions. The R programming language will also be introduced and used for hands-on experimentation with data mining algorithms.
Prerequisites: Open to juniors and seniors majoring in Computer Science, Computer Information Systems, Electrical Engineering, and Computer Engineering OR Instructor's permit OR Department Chair's permit
Cross-listed with CMPG-763 Data Mining.
CMPT 364. Cloud Computing and Virtualization. 3 Credits.
This course offers an in-depth study of Cloud Computing and its underlying technologies, specifically Virtualization. Areas of discussion include the internal architecture of clouds, the architecture and structure of Virtual Machines, and cloud management, security, and optimizations. The course also covers Linux Containers and their features. The course supplements all the topics with tracing actual software code (Xen, KVM, QEMU, VirtualBox), study of the latest related research publications, and hands-on experience with the relevant technologies (AWS, Live Migration, Nested Virtualization).
Cross-listed with CMPG-764 Cloud Computing and Virtualization.
CMPT 367. Computer Security. 3 Credits.
This course provides a basic introduction to the key concepts in security. It covers basic concepts such as authentication, confidentiality, integrity, and non-repudiation as well as important techniques and applications. Topics include cryptography, access control, privacy, software/operating system security, and security policies. A course can be taken by juniors and seniors. Prerequisites: A grade C or higher in CMPT 335.
CMPT 368. Blockchain and Cryptocurrency Technologies. 3 Credits.
This course provides a comprehensive introduction to the revolutionary blockchain and cryptocurrency technologies. This course cover topics related to the new global money for the Internet age. This course explain how blockchain technology is transforming the Internet, allow students to understand bitcoin, cryptocurrencies and how they are disrupting the financial industry, have a comprehensive understanding of where blockchain technology is headed and how it can be leveraged. Prerequisite: grade C or higher in CMPT 238 or CMPT 239
Cross-listed with CMPG 758.
CMPT 369. Cyber Security Lab. 3 Credits.
In this course, students will learn computer and network security fundamentals by studying attacks on computer systems, networks, and the Web. Students will learn how these attacks work and how to detect and prevent the attacks. The course takes a hands-on approach by explaining theories via specially designed labs. Students are required to conduct a series of experimental exercises. Through these experiments, this course will help students enhance their understanding of principles and use these principles to solve practical problems.
Open to juniors and seniors.
Cross-listed with CMPG-769 Cyber Security Lab.
CMPT 370. Web Security. 3 Credits.
This course provides a comprehensive overview of Web security. The goal is to understand the most common web attacks and their countermeasures. We'll cover the fundamentals as well as the state-of-the-art in Web security. Topics include Principles of web security, attacks and countermeasures, denial-of-service, same-origin policy, cross site scripting, authentication, the web app vulnerabilities, injection, TLS attacks, privacy, etc. Course components include lectures, hands-on labs, 2-3 in-class quizzes, and one group course project.
Open to juniors and seniors.
Cross-listed with CMPG-770 Web Security.
CMPT 375. Internship for Juniors. 3 Credits.
Students participate in an off-campus training experience closely related to one of the areas of computer science. Frequent meetings with the advisor plus a paper are required. Prerequisites: Junior status, 3.0 GPA, and permission of the student's advisor or the Chair.
CMPT 420. Artificial Intelligence. 3 Credits.
This course will be a survey of the field of Artificial Intelligence. Topics include intelligent agents, informed and uninformed search, game trees and constraint satisfaction problems. Selected machine learning topics, such as decision trees and Bayesian network will also be discussed.
Prerequisite: Prerequisites: Open to juniors and seniors majoring in Computer Science, Computer Information Systems, Electrical Engineering, and Computer Engineering OR CMPT-335 OR Instructor's permit OR Department Chair's permit
Cross-listed with CMPG-720 Artificial Intelligence.
CMPT 439. Numerical Computation. 3 Credits.
Numerical techniques, types of errors, and accuracy of numerical solutions. Introduction to MATLAB. Solution of non-linear equations. Solution of systems of linear algebraic equations. Interpolation. Polynomial approximation. Numerical integration and differentiation. Nonlinear optimization. Students will learn numerical methods, utilize them in software, and then use this software for solving practical problems. Fall. Prerequisite: A grade of C or better in CMPT 102 or CMPT 201 and MATH 186.
CMPT 443. Computability Theory. 3 Credits.
Turing-computable functions, and their relationship to recursive functions. Formal languages, regularity, finite and push-down automata and their simulation. Universality of programs and Turing machines. Unsolvability and an introduction to the theory of computational complexity. Fall. Prerequisite: A grade of C or better in CMPT 335 or MATH 243.
CMPT 448. Cryptography & Security. 3 Credits.
This course provides a basic introduction to the principles and practice of cryptography and computer security. Topics include perfect secrecy, block ciphers, public key cryptosystems, key management, certificates, public key infrastructure (PKI), hash functions, digital signatures, non-repudiation, message authentication, access control, email and web security, intrusion detection, firewalls and security policies. Various security standards and protocols such as DES, AES, PGP, and SSL are also discussed.
Open to juniors and seniors.
Prerequisite: CMPT 335 with a grade of C or higher
Cross-listed with CMPG 768 - Cryptography and Security.
CMPT 456. Software Engineering. 3 Credits.
A study of the principles and methods advocated for the development of large and complex software systems. Each student will be required to participate in a team project devoted to the specification, design and implementation of a sizable software system.
Prerequisite: CMPT 258 and CMPT 360 or permission of the instructor.
Cross-listed with CMPG 756 Software Engineering.
CMPT 463. Topics in Computer Science. 3 Credits.
Admission only by permission of the Chair of the Department. This course is offered when demand warrants.
CMPT 464. Topics in Computer Science. 3 Credits.
Admission only by permission of the Chair of the Department. This course is offered when demand warrants.
CMPT 465. Neural Networks and Learning Systems. 3 Credits.
This course provides the basic concepts of neural networks and other learning techniques including but not limited to: biological foundations of neural networks, basics of neural information processing, an artificial neuron and its activation function, multilayer feedforward neural networks and backpropagation learning, deep learning, Hopfield neural networks and associative memories, recurrent neural networks, support vector machines, validation of learning results, and clustering. Laboratory exercises provide experience with design and utilization neural and other machine learning algorithms and solving real-world classification, prediction, pattern recognition and intelligent data analysis problems. A course project will help students to develop their team-working skills and get a good experience in software project design.
Prerequisites: Open to juniors and seniors majoring in Computer Science, Computer Information Systems, Electrical Engineering, and Computer Engineering OR CMPT-335 OR Instructor's permit OR Department Chair's permit
Cross-listed with CMPG-465 Neural Networks and Learning Systems.
CMPT 466. Computer Networks. 3 Credits.
This is an introductory course to computer networks. It teaches the fundamentals of networking systems, their architecture, function and operation and how those fundamentals reflected in current network technologies. Topics include application layer protocols, Internet protocols, network interfaces, local and wide area networks, wireless networks, bridging and routing, and network security.
Prerequisites: CMPT 102 and CMPT 335 with grade C or higher.
CMPT 468. Topics in Computer Science. 3 Credits.
Admission by permission of the Chair of the Department. This course is offered when demand warrants.
CMPT 469. Independent Study. 3 Credits.
Individual study and/or research under faculty supervision.
CMPT 470. Mobile Computing. 3 Credits.
This course is designed for students interested in writing applications for modern mobile devices using Apple's iOS technology as the development platform. Topics include introduction to the Swift programming language (control flow, collections, optionals, functions, structures, classes, and protocols), the Xcode interface builder for iOS, auto layout and stack views, design patterns, segues, and table views. Students are required to have a MacBook with Xcode installed.
Prerequisites: A grade C or better in CMPT 238.
CMPT 471. Parallel Computing. 3 Credits.
This course introduces the principles and practice of parallel computing, with a focus on modern applications in artificial intelligence. Students will learn models of parallel computation, parallel architectures, and programming techniques such as message passing, shared memory, and GPU computing. The course emphasizes design, analysis, and implementation of parallel algorithms, highlighting their role in accelerating AI and machine learning tasks. Topics include parallel sorting and searching, matrix operations, and neural network training. Case studies will demonstrate how parallel computing enables large-scale deep learning, and other AI-related applications. By the end of the course, students will be able to analyze problems for parallelism, implement parallel solutions, and evaluate performance trade-offs.
Prerequisites: Open to juniors and seniors majoring in Computer Science, Computer Information Systems, Electrical Engineering, and Computer Engineering OR Instructor's permit OR Department Chair's permit
Cross-listed with CMPG-771 Parallel Computing.
CMPT 475. Internship for Seniors. 3 Credits.
Students participate in an off-campus training experience closely related to their area of computer science. Frequent meetings with the advisor plus a paper are required. Prerequisites: Senior status, 3.0 GPA, and permission of the student's advisor or the Chair.
CMPT 477. Image Processing & Analysis. 3 Credits.
This course provides the basic concepts of image processing and analysis including but not limited to image sensing and acquisition, visual perception, image enhancement (mostly spatial domain image enhancement, but some essential elements of the frequency domain enhancement will also be considered), image filtering in spatial and frequency domain, edge detection and image segmentation, elements of image restoration, image understanding and recognition, elements of color image processing. Laboratory exercises provide experience with design and software utilization of image processing algorithms and processing images related to various real-world applications (medical and satellite image processing, old images restoration, and digital photography). Students will program various algorithms and use their programs for processing real images. This will help them to accomplish specified challenges as they develop problem solving skills. A course project will help students to develop their team-working skills and get a good experience of software project design.
Open to juniors and seniors
Cross-listed with CMPG 767.
CMPT 478. Coding Interview Preparation: Algorithms, Data Structures and Skills. 3 Credits.
This elective course will help students prepare for the unique aspects of a coding job interview, with programming techniques, computer science foundations, strategic insights, practicing skills and some tips. Class meeting will consist of lectures and programming activities. Students will work on a lot of coding exercises to learn problem-solving techniques, improve the understanding of data structures and algorithms. The LeetCode platform will be used throughout the course. In addition, there will be an in-class programming competition and a mock interview session to allow students to get some practice in real-life simulated environments.
Open to juniors and seniors
Prerequisite: CMPT 238 or CMPT 239 with a grade of C or higher
Cross-listed with CMPT 478.
CMPT 480. Linux Kernel Programming. 3 Credits.
This course focuses on the Linux Kernel, a large-scale open source software project. Topics include in-depth discussions, and hands-on modifications of the Linux memory, process, storage, and network sub-systems. Programming topics include creating kernel modules, simple device drivers, as well as modifying and compiling the kernel source code.
Cross-listed with CMPG-780.
CMPT 485. Deep Learning & Generative AI. 3 Credits.
This course introduces the fundamentals of deep learning and generative artificial intelligence (AI), focusing on both theoretical understanding and practical implementation. Students will learn core deep learning concepts, deep neural networks architectures, convolutional neural networks, image recognition using convolutional neural networks, generative AI neural network architectures, and state-of-the-art generative AI models. Applications of generative AI in text and image generation will be considered. The course emphasizes hands-on work, with biweekly projects that build towards a final course project.
Prerequisites: Open to juniors and seniors majoring in Computer Science, Computer Information Systems, Electrical Engineering, and Computer Engineering OR CMPT-335 OR Instructor's permit OR Department Chair's permit
Cross-listed with CMPG-785.
CMPT 490. Capstone. 4 Credits.
The aim of the capstone project in the senior year of Computer Science majors is to familiarize them with the process of solving real-world computational problems as practiced in industry. This course requires students to develop a project based on the knowledge and skills acquired in earlier coursework and integrate their knowledge and skills as a practical design effort. The work should be typically performed as a team project. Spring. Prerequisite: a grade of C or better in CMPT 456 or permission of the Department Chair.