Computer Science
Department of Computer Science
The Computer Science program offers an undergraduate education that promotes lifelong intellectual growth and prepares students for professional careers and advanced study. The program is grounded in the principles, theories, and application of the science of computing with special emphasis in the areas of Big Data Analytics and Software Development.
Students will develop the ability to effectively apply discipline knowledge to solve real-world problems, adapt as the field changes, and make ethical decisions. The curriculum provides the foundations of team skills and allows students to improve their interpersonal skills and professional attitudes. Students will have an opportunity to participate in an internship and in undergraduate research.
A laptop computer running Windows, macOS, or Linux is required for courses in the Computer Science program. 16GB of memory is suggested. A Chromebook will not work.
Faculty
Ali Al-Faris, Assistant Professor (2021), B.S., College of Electronic Technology at Bani-Walid, Libya; M.S., University of Technology, Malaysia; Ph.D., University of Science, Malaysia
Nada AlSallami, Associate Professor (2019), B.S., University of Technology, Iraq; M.S., University of Technology, Iraq; Ph.D., University of Technology, Iraq
Elena Braynova, Department Chair, Professor (2003), M.S., State University of New York, Buffalo; M.S., Ph.D., Moscow State University, Russia
Saba Kadady, Instructor (2022), B.S., MS., Al Nahrain University, Iraq
Karl R. Wurst, Professor (1999), B.S., Central Connecticut State University; M.S., Ph.D., University of Connecticut
Courses
CS-101 Basics of Computer Science
LASC Categories: QR
Prerequisites: Familiarity with basic computer operations. Pass math placement test with code of 3 or above, or a passing grade in a college level math course.
A survey course that provides a foundation in computer science by presenting a practical and realistic understanding of the field.
Fall and Spring and every year. 3 Credits
CS-120 Microcomputer Applications
LASC Categories: QR
Prerequisites: Familiarity with basic computer operations. Pass math placement test with code of 3 or above, or a passing grade in a college level math course.
Learning state-of-the-art application packages including but not limited to word processing, file and database management systems and spreadsheets.
Fall and Spring and every year. 3 Credits
CS-124 Health Informatics
LASC Categories: QR
Prerequisites: Familiarity with basic computer operations. Pass math placement test with code of 3 or above, or a passing grade in a college level math course.
Use of computers and information systems in health care. Databases and spreadsheets. electronic health records. [Credit will not be awarded for both CS-120 and CS-124.]
Spring only and every year. 3 Credits
CS-131 Data Visualization and Statistical Analysis
LASC Categories: QR
Prerequisites: Familiarity with basic computer operations such as using a text editor, saving and opening files, and MA 150 or MA 302 or EC 150 or PS 275 or SO 275 or familiarity with basics of Statistics.
The course focuses on basic data visualization methods; basic statistical analysis; use of R; current visualization and statistical analysis tools.
Every year. 3 Credits
CS-135 Programming for Non-CS Majors
LASC Categories: QR
Prerequisites: Familiarity with basic computer operations. Pass math placement test with code of 3 or above, or a passing grade in a college level math course.
Introduction to programming. Emphasis on practical skills, working with data sets, doing analysis and visualization. No prior programming experience required.
Fall only and every year. 3 Credits
CS-140 Introduction to Programming
LASC Categories: NLL
Prerequisites or Corequisite: CS-101
Introduction to fundamental structures and concepts of Computer Science including object-oriented programming; three lecture hours and one two-hour laboratory.
Every year. 4 Credits
CS-141 Data Cleaning and Preprocessing
Prerequisites: Familiarity with basic computer operations such as using a text editor, saving and opening files, and Math placement code of 3 or above or successful completion of a College level Math course.
The course focuses on basic data cleaning and preprocessing tasks, basic methods to perform them; methods to generalize and summary data.
Every year. 3 Credits
CS-155 Computer Networking and Security
LASC Categories: QR
This course covers network protocols and the Internet; computer security fundamentals.
Spring only and every year. 3 Credits
CS-165 Digital Forensics
Prerequisites: CS-155
Digital forensics investigation; data acquisition; processing crime and incident scenes; multiple operating systems and file fomats; digital forensics tools, analysis and validation.
Every year. 3 Credits
CS-193 Special Topics in Computer Science for First Year Students
LASC Categories: FYS
Introductory level course covering topics of special interest to first year students. Offered only as a First Year Seminar.
3 Credits
CS-225 Discrete Structures I
Prerequisites: MA 180 or math placement code 6 or above.
Asymptotic notation, sequences, recursions and methods to solve them, proof techniques, relations, functions, sets and their basic properties.
Every year. 3 Credits
CS-234 Data Mining for Non-Cs Majors
Prerequisites: MA 150 or MA 302 or EC 150 or PS 275 or SO 275 or familiarity with basic statistical methods, and familiarity with basic computer operations such as using a text editor, saving and opening files.
This course introduces basic Data Mining problems and methods to solve them: Classification, Numerical Prediction, Clustering, Association Rule Mining.
Every year. 3 Credits
CS-242 Data Structures
LASC Categories: QAC
Prerequisites: CS-140.
Prerequisites or Corequisite: Pre-requisite or co-requisite of CS-225.
Introduces time complexity and covers fundamental data structures: lists, stacks, ques, search trees , dictionaries, priority ques, B-trees and inverted files.
Every year. 3 Credits
CS-248 Algorithm Analysis
Prerequisites: CS-242
Prerequisites or Corequisite: CS-295.
Different algorithm design strategies, sorting, searching graph algorithms, parallel algorithms, algorithm complexity, turing machines, NP-hard and NP-complete problems.
Every year. 3 Credits
CS-254 Computer Organization and Architecture
LASC Categories: NLL
Prerequisites: CS-140 EN-102.
Prerequisites or Corequisite: Pre-requisite or co-requisite of CS-295.
Combinational and sequential circuits, assembly language programming, digital computer architecture, instruction sets, addressing modes, memory hierarchies, I/O, and control circuits. Three lecture hours and two laboratory hours per week.
Fall only and every year. 4 Credits
CS-265 Database Applications
LASC Categories: QR
Prerequisites: Familiarity with basic computer operations. Pass math placement test with code of 3 or above, or a passing grade in a college level math course.
This course introduces basic database concepts and teaches how to create and manage a database; relational databases, use SQL; NoSQL databases. Credit will not be awarded for both CS 265 and CS 286.
Fall only and every 2-3 years. 3 Credits
CS-282 Unix Systems Programming
Prerequisites: CS-135 with a minimum grade of C-, or CS-140 with a minimum grade of C-, or CS-242.
Problem solving and software design using C; introduction to UNIX programming utilities and text manipulation; low-level system programming in UNIX and C.
Spring only and every year. 3 Credits
CS-286 Database Design and Applications
Prerequisites: CS-135 or CS-140
Covers relational databases; database design using ER model; query processing using SQL; NoSQL databases. Credit will not be awarded for both CS 265 and CS 286.
Fall only and every year. 3 Credits
CS-295 Discrete Structures II
Prerequisites: CS-225
Logic, basic counting techniques, probabilities, basic graph theory.
Every year. 3 Credits
CS-297 Selected Topics in Computer Science
Topics of mutual interest to students and faculty.
Other or on demand. 1-4 Credits
CS-343 Software Construction, Design and Architecture
Prerequisites: CS-286
Prerequisites or Corequisite: CS-348
Software construction techniques and tools, software architectures and frameworks, design patterns, object-oriented design and programming. efficiency, reliability and maintainability of software.
Fall only and every year. 3 Credits
CS-348 Software Process Management
Prerequisites: CS-140.
Prerequisites or Corequisite: PH-134 or UR-230.
Project management including planning, progress measurement, estimation, and risk assessment. Functional and non-functional requirements. Software licenses, contracts and intellectual property.
Fall only and every year. 3 Credits
CS-373 Operating Systems
Prerequisites: CS-254 and CS-282
Hardware and Software as an integrated system; development of system software for process management, resource allocation, memory management and I/O processing. [Formerly CS 385 Operating Systems]
Every year. 3 Credits
CS-383 Cloud, Parallel an Distributed Computing
Prerequisites or Corequisite: CS-135 or CS-140 or CS-141.
The course introduces basics of Cloud Computing and fundamental computing technologies used for Big Data platforms such as Parallel, Distributed Computing.
Spring only and every year. 3 Credits
CS-408 Directed Study: Computer Science
Directed study offers students, who because of unusual circumstances may be unable to register fro a course when offered, the opportunity to complete an existing course with an established syllabus under the direction and with agreement from a faculty member.
3 Credits
CS-443 Software Quality Assurance and Testing
Prerequisites: CS-242 and CS-295
Requirements analysis and test plan design. Testing strategies and techniques. Test coverage using statistical techniques. Code reviews and insepctions.
Spring only and every year. 3 Credits
CS-448 Software Development Capstone
LASC Categories: CAP
Prerequisites: CS-343
Prerequisites or Corequisite: CS-373 and CS-443 as prereq or coreq.
Development of a significant software system, following appropriate project and team management techniques. Requirements, design, implementation, quality assurance, professional, social and ethical issues.
Every year. 3 Credits
CS-453 Data Mining
Prerequisites or Corequisite: CM-110, UR-230 or PH-134 Take MA-150 or MA-302;
Topics include data warehousing and mediation techniques; data mining meathods: rule-based learning; decision trees, association rules and sequence mining.
Fall only and every year. 3 Credits
CS-483 Big Data Analytics Capstone
LASC Categories: CAP
Prerequisites: CS-453
Prerequisites or Corequisite: CS-383
The course introduces methods and techniques used for Big Data analysis. The course discusses Analytics tools for a variety of data applications and includes a major team project.
Every year. 3 Credits
CS-497 Selected Topics: Computer Science
Prerequisites: CS-282
Selection of topics of mutual interest to student and faculty.
Other or on demand. 1-6 Credits
CS-498 Internship: Computer Science
Prerequisites: 21 credit hours in Computer Science courses including CS-282
Working in and for an organization where skills can be tested in real situations in order to gain experience, increase knowledge in various functional areas, and establish important contacts with an organization.
Every year. 3 Credits
CS-499 Independent Study: Computer Science
Prerequisites: 18 credit hours in Computer Science including CS-282.
An opportunity for advanced students to examine topics not normally taught in other mathematics or computer courses. Geared to the interests of both the student and the instructor.
Every year. 1-6 Credits
Program Learning Outcomes
- Analyze a problem, design/develop multiple solutions and evaluate and document the solutions based on the requirements.
- Communicate effectively in both oral and written form.
- Identify professional and ethical considerations and apply ethical reasoning to technological solutions to problems.
- Demonstrate an understanding of and appreciation for the importance of negotiation, effective work habits, leadership, and good communication with teammates and stakeholders.
- Learn new models, techniques, and technologies as they emerge and appreciate the necessity of such continuing professional development.