Chair: Ling Zheng, Department of Computer Science and Software Engineering
UNIX Administrator and Teacher: Joseph Chung
The Computer Science curriculum provides a solid foundation in the computing sciences, preparing students for employment in industry or for graduate school. Software design and development is emphasized along with foundational computing concepts. The higher-level courses enable students to explore a variety of topics, such as databases, networks, artificial intelligence, scripting languages, game programming, UNIX administration, and computer security.
The B.S. in Computer Science, which is accredited by the Computing Accreditation Commission of ABET, is recommended especially for students who plan to attend graduate school in computer science or who plan to specialize in scientific computing. The Bachelor of Science in Computer Science identifies the following within a few years after graduation from the program:
Students interested in Computer Science but looking for a more flexible curriculum may choose to pursue the non-ABET-accredited B.A. in Computer Science. This program requires fewer math and science credits, which allows students to take additional coursework or a minor in other academic areas.
The undergraduate Software Engineering curriculum, which is accredited by the Engineering Accreditation Commission of ABET is designed to give students a broad background in both computer and engineering science with a heavy emphasis on those aspects of software engineering that will enable graduates to efficiently participate in the design, development, and deployment of large software systems.
The educational objectives of the B.S. in Software Engineering program are to prepare software engineering graduates to do the following within the first few years after graduation from the program:
William Byrne, Specialist Professor. B.S., M.S., New York University; MSEE, Stevens Institute of Technology; M.S., Columbia University. Interests include information technology education and web technologies.
bbyrne@monmouth.edu
Rolf Kamp, Specialist Professor (Graduate Faculty). B.S., B.A., Stockton University; M.B.A., Monmouth University; M.S., New Jersey Institute of Technology. Interests include computer science education, networking technologies, and ethics and professionalism for scientists and engineers.
rkamp@monmouth.edu
Raman Lakshmanan, Specialist Professor (Graduate Faculty). B.S., University of Madras; Ph.D., Oakland University. Interests include web technologies and applications, Cloud computing architectures, SQL and noSQL databases, machine learning, and enterprise iOS apps.
rlakshma@monmouth.edu
Weihao Qu, Assistant Professor. B.S., Tianjin University; M.S., University at Buffalo; Ph.D., Boston University.
wqu@monmouth.edu
Richard Scherl, Associate Professor. B.A., Columbia University; M.A., University of Chicago; Ph.D., University of Illinois. Interests include artificial intelligence (especially knowledge representation, automated reasoning and natural language processing), cognitive science, and databases.
rscherl@monmouth.edu
Jiacun Wang, Professor and Graduate Program Director (Graduate Faculty). B.S., Jiangsu University of Science and Technology; Ph.D., Nanjing University of Science and Technology, China. Interests include software architecture, Petri nets, real-time systems, discrete event systems, telecommunications, and networking.
jwang@monmouth.edu
Cui Yu, Associate Professor (Graduate Faculty). B.S., Nanjing University of Aeronautics and Astronautics; Ph.D., University of Singapore, Singapore. Interests include database management systems, spatial databases, and information storage and retrieval.
cyu@monmouth.edu
Ling Zheng, Associate Professor and Chair (Graduate Faculty). B.S., Southern Medical University, Guangzhou, China; M.S., Zhejiang University, Hangzhou, China; Ph.D., New Jersey Institute of Technology. Healthcare information systems, translational bioinformatics, biomedical ontologies/terminologies, and biomedical knowledge representation and discovery.
lzheng@monmouth.edu
CS-104 Introduction to Problem Solving and Software DevelopmentCredits: 3
Term Offered: All Terms
Course Type(s): TL
Introduces a broad overview of problem solving, computing topics, and fundamental concepts and methodologies of software development designed to provide students with awareness of the computing field's many aspects. Topics include fundamentals of computer architecture, operating systems, applications, problem-solving. It emphasizes the main phases of the software development lifecycle, such as requirements, design, implementation, testing, project planning. Also, it stresses the difference between the software product and process. Introduces social and ethical issues related to computing and explores the local and global impact of computing on individuals, organizations and society. It also gives students their initial exposure to group project work.
CS-175 Introduction to Computer Science ICredits: 3
Prerequisite(s): CS-104
Co-requisite(s): CS-175L
Term Offered: All Terms
Course Type(s): None
Introductions to the basic concepts of program development in a modern object-oriented language; problem-solving methods and algorithm development; basic primitive and object data types; language syntax; style and documentation; and coding and testing of programs
CS-175L Introduction to Computer Science I labCredits: 1
Prerequisite(s): CS-104
Co-requisite(s): CS-175
Term Offered: All Terms
Course Type(s): None
Introductions to the basic concepts of programming and program development in a modern Software Development Environment with debugger and source code control.
CS-176 Introduction to Computer Science IICredits: 3
Prerequisite(s): CS-175 and CS-175L, both passed with a grade of C or higher
Co-requisite(s): CS-176L
Term Offered: All Terms
Course Type(s): None
Continuation in depth and breadth of problem solving and algorithm development, using the same modern object-oriented language as in CS-175. More advanced object-oriented design. Introduction to polymorphism, inheritance, and interfaces.
CS-176L Introduction to Computer Science II LabCredits: 1
Prerequisite(s): CS-175 and CS-175L, both passed with a grade of C or higher
Co-requisite(s): CS-176
Term Offered: All Terms
Course Type(s): None
Introduction to advanced concepts of programming and program development in a modern Software Development Environment with debugger and source code control.
CS-199 Independent Study in Computer ScienceCredits: 1-3
Course Type(s): None
Independent study in a computer science topic not substantially treated in a regular course; for students with superior ability. One-hour consultation per week. Prior permission of the directing professor and department chair is required to take this course.
CS-201 Introduction to Computer Programming for Data ScienceCredits: 1
Prerequisite(s): IT-100 or IT-102 or IT-150 or CS-104
Term Offered: Spring Term
Course Type(s): None
This course introduces the most important data structures available in R and their practical application. Methodologies to import data from external sources (files, databases, on-line resources), to manipulate and transform data, and to save\export data to data repositories are described. The course also describes how to compute descriptive statistics and how to build chart for effective data visualization tasks. The students will become familiar in using some R data manipulation and visualization libraries.
CS-205 Data Structures and AlgorithmsCredits: 3
Prerequisite(s): MA-130, CS-176, and CS-176L, all passed with a grade of C or higher
Co-requisite(s): CS-205L
Term Offered: All Terms
Course Type(s): None
Introduction to the design, implementation, and use of fundamental data structures (lists, stacks, queues, trees); extensions of these structures and associated algorithms; informal complexity analysis.
CS-205L Data Structures and Algorithms LabCredits: 1
Prerequisite(s): MA-130, CS-176, and CS-176L, all passed with a grade of C or higher
Co-requisite(s): CS-205
Term Offered: All Terms
Course Type(s): None
Introductions to the basic concepts of programming and program development in a modern Software Development Environment with debugger and source code control.
CS-286 Computer Architecture ICredits: 3
Prerequisite(s): CS-176 passed with a grade of C or higher
Term Offered: All Terms
Course Type(s): None
Data representation and operations. Digital logic design. Processor data path. Memory hierarchy. Instruction set architecture. Assembly language programming.
CS-289 Internship in Computer ScienceCredits: 3
Term Offered: All Terms
Course Type(s): EX1
Supervised practical experience in Computer Science. Repeatable for credit. Sophomore standing, departmental approval, and placement are required to take this course.
CS-298 Special Topics in Computer Science (200 Level)Credits: 1-3
Term Offered: Spring Term
Course Type(s): None
An intensive study of a particular subject or problem in computer science to be announced prior to registration. May be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week. If a prerequisite is required it will be announced in the course schedule.
CS-299 Independent Study in Computer ScienceCredits: 3
Term Offered: All Terms
Course Type(s): None
Independent study in a computer science topic not substantially treated in a regular course; for students with superior ability. One-hour consultation per week. Prior permission of the directing professor and department chair is required to take this course.
CS-301 Android Application DevelopmentCredits: 3
Prerequisite(s): CS-205 and CS-205L
Term Offered: Spring Term
Course Type(s): None
This course will teach students software methodologies for Android App Development. This will include Android Development Studio, Kotlin programming language, and interfaces to external services required to develop simple to moderately complex Android mobile apps. Also listed as SE-301.
CS-305 Advanced ComputingCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher
Term Offered: Fall Term
Course Type(s): None
Introduction to fundamental concepts of computer science theory and methods of parallel and distributed programming, The course covers automata theory (including finite-state machines and Turing machines, algorithm complexity (including the distinction between P and NP problems), BNF specification of programming languages, methods of parallel programming, methods of distributed programming, measuring the speedup obtained by parallelization, and methods of addressing NP completeness through approximation. The course will provide experience in the implementation of parallel and distributed programming.
CS-310 Advanced Object-Oriented Programming and DesignCredits: 3
Term Offered: All Terms
Course Type(s): WT
Object-oriented programming and design, using a language different from that used on CS-176. Use of classes, inheritance, polymorphism, and libraries. Topics will include flexible system design for such requirements as globalization. This is a writing-intensive course.
CS-315 Theory of ComputingCredits: 3
Prerequisite(s): CS-176 passed with a grade of C or higher and either CS-202 or MA-120 or MA-130 passed with a grade of C or higher
Term Offered: Spring Term
Course Type(s): None
An introduction to phrase structure languages and their relation to automata, computability, and program verification.
CS-325 Software Engineering ConceptsCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher; and EN-101 and EN-102 or permission of the instructor
Term Offered: All Terms
Course Type(s): WT
Overview of software engineering concepts, analysis/design techniques, Unified Modeling Language (UML), software documentation, and group development of software.
CS-335 Programming Language ConceptsCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher
Course Type(s): None
Design, evaluation, and implementation of programming languages. Discussion of imperative, applicative, object-oriented and concurrent languages. Four hours per week.
CS-337 Enterprise Mobile iOS Apps Design and DevelopmentCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher
Term Offered: Fall Term
Course Type(s): None
Presents methodologies to build enterprise mobile apps on iPad tablets and iPhone smartphones using iOS. The course will cover technologies to use in the design and development of apps on mobile devices and integration of these apps with corporate data sources, sensor devices and cloud computing services. Also listed as SE-337.
CS-350 Research in Computer ScienceCredits: 1-4
Prerequisite(s): CS-306 passed with a grade of C or higher, a minimum of fifteen credits at Monmouth University and a minimum GPA of 3.25
Course Type(s): EX5
Original research work, associated with an external constituent and/or organization, planned and carried out with assistance of faculty research advisor. Research conducted by the student will be shared with the external constituency and submitted for outside publication and review. Number of credits arranged with advisor. Limited to Computer Science students with approval of chair, program director, or advisor.
CS-357 Engineering Full-Stack Software ApplicationsCredits: 3
Prerequisite(s): CS-176 and CS-176L
Term Offered: Fall Term
Course Type(s): None
A practical introduction to the principles, methods, and tools required to create high-quality software applications for the distributed, client-server context of the Web. Emphasis is on architectural designs, and language and data access methods that are common in Web-based systems. Also listed as SE-357.
CS-358 Software FrameworksCredits: 3
Prerequisite(s): EN-101, EN-102, CS-205 and SE-207 both passed with a grade of C or higher; and SE-357 or CS-357, or permission of the instructor.
Course Type(s): WT
An introduction to Design Patterns and modern Software Frameworks, programming languages, data access methods and asynchronous Application Programming Interfaces (APIs). This is a writing intensive course. Restricted to Computer Science or Software Engineering students only. Also listed as SE-358. and SE-357 or CS-357 or permission of the instructor.
CS-360 Introduction to Game DevelopmentCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher
Term Offered: Fall Term
Course Type(s): None
An introduction to the creation of computer/video games and the different elements of games, including computer graphics, animation, artificial intelligence, algorithms, data structures, networking, software development cycles and human-computer interaction. Also listed as SE-360.
CS-370 Program Development Under UnixCredits: 3
Prerequisite(s): CS-176 passed with a grade of C or higher
Term Offered: Fall Term
Course Type(s): None
Introduction to the use of the UNIX operating system and its utilities for incremental and distributed program development, maintenance, and debugging. The course covers the UNIX shell, utilities, and program development tools that are used for large projects involving multiple developers on multiple machines. Three hours per week.
CS-371 Scripting LanguagesCredits: 3
Prerequisite(s): CS-176 or equivalent
Term Offered: Spring Term
Course Type(s): None
An introduction to programming using widely-used, dynamically-typed, interpreted programming languages, which are sometimes called "scripting" languages. Covers general-purpose scripting languages, such as Perl and Python that are used to develop a wide range of applications. Scripting languages, such as PHP, that are used primarily in web development, will not be covered in this course.
CS-375 File ManagementCredits: 4
Prerequisite(s): CS-205 passed with a grade of C or higher
Course Type(s): None
Overview of files, records and files, blocking and buffering, secondary storage devices; sequential file organization, external sort/merge algorithms; random access; relative file organization; tree-structured file organization; search trees, indexed sequential file organization; list-structured file organization; multiple-key file organization. Four hours per week.
CS-388 Cooperative Education: Computer ScienceCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher, Junior standing and thirty or more earned credits with at least fifteen taken at Monmouth University
Term Offered: All Terms
Course Type(s): EX2
Provides an opportunity for students who are engaged in a computer science-related experience. Fifteen to twenty hours of work experience per week. This course may be repeated for credit. Departmental approval is required to take this course.
CS-389 Internship in Computer ScienceCredits: 3
Term Offered: All Terms
Course Type(s): EX1
Supervised practical experience in Computer Science. Repeatable for credit. Junior standing, departmental approval, and placement are required to take this course.
CS-398 Special Topics in Computer Science (300 Level)Credits: 1-3
Term Offered: Spring Term
Course Type(s): None
An intensive study of a particular subject or problem in computer science to be announced prior to registration. May be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week. If a prerequisite is required it will be announced in the course schedule.
CS-399 Independent Study in Computer ScienceCredits: 3
Term Offered: All Terms
Course Type(s): None
Independent study in a computer science topic not substantially treated in a regular course; for students with superior ability. One-hour consultation per week. Prior permission of the directing professor and department chair is required to take this course.
CS-414 Computer NetworksCredits: 3
Prerequisite(s): CS-286 passed with a grade of C or higher
Term Offered: All Terms
Course Type(s): None
An introductory-level course on the hierarchy of networking software and hardware. Emphasis on the; description of protocols in the Internet, specifically, client-server Application Layer Protocols such as HTTP, SMTP, DNS, DHCP; Transport Layer Protocols such as UDP/TCP, Network Layer Protocols such as IP, ICMP, as well as Network Layer Routing and Forwarding techniques, such as RIP and OSPF for IPv4 and Tunneling for IPv6.
CS-418 Compiler ConstructionCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher
Course Type(s): None
The principles and practices of incorporating the theory of finite automata and context-free languages, the maintenance and use of semantic information, and the generation and optimization of code to produce a compiler. Four hours per week.
CS-420 Survey of Artificial Intelligence Concepts and PracticesCredits: 3
Prerequisite(s): CS-205 and MA-130 both passed with a grade of C or higher
Term Offered: Fall Term
Course Type(s): None
Introduction of fundamental concepts and practices of artificial intelligence, covering search techniques, constraint satisfaction, knowledge representation, machine learning, planning, and natural language processing. The course will provide experience in the implementation of techniques from these areas. Three hours per week.
CS-432 Database SystemsCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher
Term Offered: All Terms
Course Type(s): None
Overview of database system concepts; data modeling; ER and UML diagrams; relational database schema definition; database design; query languages; introduction to NoSQL and comparison between relational and non-relational databases; hand-on experience of SQL, Oracle, and NoSQL.
CS-438 Operating Systems AnalysisCredits: 3
Prerequisite(s): CS-286 and CS-205 both passed with a grade of C or higher
Term Offered: All Terms
Course Type(s): None
Management of memory, processes, files, and devices. OS design principles and performance measures. Multiprogramming, multiprocessing, concur-ency, deadlock, virtual machines. Competitive and cooperating processes. Programs will be written in C or in Java. Three hours per week.
CS-450 Cyber SecurityCredits: 3
Prerequisite(s): CS-205
Term Offered: Fall Term
Course Type(s): None
Cover fundamental theory and practice of cyber security. Review cryptographic tools used to provide security, such as shared key encryption; public key encryption, key exchange, authentication, digital signature, and intrusion detection. Learn implementation of secure mechanisms in object-oriented programming languages. Also listed as SE-450.
CS-451 Applied Computer SecurityCredits: 3
Prerequisite(s): CS-450 or SE-450
Term Offered: Spring Term
Course Type(s): None
This course will introduce students to multiple aspects of computer security and practice into a series of well-defined security topics such as network security and hacking tools. Also, the student will introduce different topics of digital forensics. Also listed as SE-451.
CS-471 System AdministrationCredits: 3
Prerequisite(s): CS-370 or CS-371 passed with a grade of C or higher
Term Offered: Spring Term
Course Type(s): None
Fundamental topics in system administration, focused primarily on UNIX administration with added coverage of Microsoft Windows NT descendant systems. The course is a hands-on introduction to installing and maintaining modern, multi-user, production UNIX-like operating systems and the essential services that are hosted on these systems.
CS-488 Cooperative Education: Computer ScienceCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher
Term Offered: All Terms
Course Type(s): EX2
Provides an opportunity for students who are engaged in a computer science-related experience. Fifteen to twenty hours of work experience per week. May be repeated for credit. Departmental approval is required to take this course. Junior standing, thirty or more earned credits with at least fifteen taken at Monmouth University and CS-205 passed with a grade of C or higher are required to take this course.
CS-489 Internship in Computer ScienceCredits: 1-3
Term Offered: All Terms
Course Type(s): EX1
Supervised practical experience in Computer Science. Repeatable for credit. Junior standing, departmental approval, and placement are required to take this course.
CS-490 Senior ProjectCredits: 4
Prerequisite(s): CS-325 and CS-432 both passed with a grade of C or higher
Term Offered: Spring Term
Course Type(s): RD
Affords the student an opportunity to integrate topics and techniques from previous coursework in a capstone project. The project will combine investigation into computer science literature and actual implementation, either in an area of current research or an application area of interest to industry. Implementation might involve collaboration with other students. The project will be presented formally, both orally and in written form. This course satisfies the reasoned oral discourse requirement for computer science students.
CS-492A Computer Science Senior Project ACredits: 3
Prerequisite(s): CS-325 and CS-432, both passed with a grade of C or higher
Term Offered: All Terms
Course Type(s): RD
Affords the student an opportunity to integrate topics and techniques from previous coursework in a capstone project. The project will combine investigation into computer science literature and actual implementation, either in an area of current research or an application area of interest to industry. Implementation might involve collaboration with other students. The project will be presented formally both orally and in written form. This course satisfies the reasoned oral discourse requirement for computer science students.
CS-492B Computer Science Senior Project BCredits: 3
Prerequisite(s): CS-492A
Term Offered: All Terms
Course Type(s): RD
Affords the student an opportunity to integrate topics and techniques from previous coursework in a capstone project. The project will combine investigation into computer science literature and actual implementation, either in an area of current research or an application area of interest to industry. Implementation might involve collaboration with other students. The project will be presented formally both orally and in written form. This course satisfies the reasoned oral discourse requirement for computer science students.
CS-498 Special Topics in Computer Science (400 Level)Credits: 1-3
Term Offered: All Terms
Course Type(s): None
An intensive study of a particular subject or problem in computer science to be announced prior to registration. May be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week. If a prerequisite is required it will be announced in the course schedule.
CS-499 Independent Study in Computer ScienceCredits: 1-4
Term Offered: All Terms
Course Type(s): None
Independent study in a computer science topic not substantially treated in a regular course; for students with superior ability. One-hour consultation per week. Prior permission of the directing professor and department chair is required to take this course.
IT-100 Information TechnologyCredits: 3
Term Offered: All Terms
Course Type(s): TL
Introduction to computer-based information management concepts that provide an integrated approach to personal computer software in a Windows environment. These include, word processing, spreadsheet, database, presentation graphics, and electronic communication applications; information retrieval from the Internet and online library resources; fundamental computer literacy; and the ethical and societal implications of computer technology. Hands-on experience with a microcomputer on a networked system is provided. Not open to students who have completed CS-102 or IT-102 or IT-150.
IT-102 Information Technology for ScientistsCredits: 3
Term Offered: All Terms
Course Type(s): TL
Introduction to computer-based information management that provides an integrated approach to personal computer software in a Windows environment, which includes word processing, spreadsheet, mathematics, database, presentation graphics, Internet and electronic communication applications. Emphasizes scientific applications, technical report preparation and presentation. Hands-on experience with a microcomputer on a networked system is provided.
IT-103 Applied Information TechnologyCredits: 3
Term Offered: Fall Term
Course Type(s): TL
Applies the principles and tools of information technology toward a deeper understanding of their impact on scientific, social and ethical issues via a central theme for the semester such as (but not limited to) climate change, big data, health-care cost analysis and others. This course will use software such as spreadsheets, databases, modeling, simulation, data analysis, software, electronic-communication applications; information retrieval from the internet and on-line library resources; social media, intranet and extranet systems to help students emerge with thematic materials in a way that deepens their understanding of associated topics.
IT-150 Information Technology for BusinessCredits: 3
Term Offered: All Terms
Course Type(s): TL
Introduction to computer-based information business management that provides an integrated approach to personal computer software in a Windows environment. This includes fundamental technology literacy; operating systems, word processing, spreadsheet, database, presentation graphics, and electronic communication applications; computer and network security; troubleshooting; information retrieval from the Internet and on-line library resources; intranet and extranet systems; and the ethical, societal, legal, and economic implications of computer technology. Hands-on experience with a microcomputer on a networked system is provided.
IT-200 Advanced Information TechnologyCredits: 3
Prerequisite(s): IT-100 or IT-102; or CS-104 or IT-150
Term Offered: All Terms
Course Type(s): None
Advanced concepts and techniques in computer-based information management are provided through an integrated approach to personal computer hardware and software in a Windows environment. These include: hardware and software considerations; societal and ethical considerations; the program development life cycle; creating tables; merging documents and desktop publishing in word processing; creating templates, workbooks with multiple worksheets, and creating a data map in electronic spreadsheets; creating custom reports and an application system using macros in database management; and using embedded visuals in presentation graphics applications. Hands-on experience with a microcomputer on a networked system is provided.
IT-250 Web Application DesignCredits: 3
Term Offered: All Terms
Course Type(s): None
Introduction to creating websites and applications for the Web that adapt to smart phones, tablets and desktop computers. Creation of web applications with content, images that can link to other apps. Creation of modern style layouts for various applications. Skills include: HTML, CSS, and embedding JavaScript code. Hands-on experience using the computer labs and web server.
IT-275 Data Analytics for Web ApplicationsCredits: 3
Term Offered: All Terms
Course Type(s): None
Define Data Analytics and the key steps in the Data Analytics process involving collecting, wrangling, mining, and visualizing data. Concepts include different types of data structures, file formats, sources of data, and Big Data. Collecting data from public websites. Making use of Generative AI. Students will learn about and take on various Roles: Data Engineer, Data Analyst, Data Scientist, Business Analyst, and Business Intelligence Analyst.
IT-298 Special Topics in Information Technology (200 Level)Credits: 3
Prerequisite(s): IT-100 and as announced in the course schedule
Course Type(s): None
Topics of current interest in Information Technology.
IT-299 Independent Study in Information TechnologyCredits: 3
Term Offered: Summer Term
Course Type(s): None
Reading and research on a selected topic under the direction of a faculty member.
IT-300 Web ProgrammingCredits: 3
Prerequisite(s): IT-250 or permission of the department
Term Offered: All Terms
Course Type(s): None
Introducing dynamic web actions such as: app sign-up and processing data forms, creating blogs. creating animations, advertisements, popup windows, selling products online, email blasts etc. Students will also learn processing the meta data of a website/application (ie number of visits, clicks, duration per visit, returning customers etc.). Simple examples in Gaming, AI and Data Analytics can be used. Skills include: php, JavaScript, mySQL.
IT-398 Special Topics in Information Technology (300 Level)Credits: 3
Prerequisite(s): IT-100 and as announced in the course schedule
Course Type(s): None
Topics of current interest in Information Technology.
IT-399 Independent Study in Information TechnologyCredits: 3
Term Offered: Spring Term
Course Type(s): None
Reading and research on a selected topic under the direction of a faculty member. Prior permission of the directing professor and department chair is required to take this course.
IT-450 Information Systems Project ManagementCredits: 3
Prerequisite(s): IT-250 or permission of the department
Co-requisite(s): IT-300
Term Offered: All Terms
Course Type(s): EX5
Students will use their skills to create web applications for local businesses and vendors as their client. Students will create applications and promote them using: social media, creating QR (Quick Response) and using codes, search engine marketing strategies. Students will work on small teams and use tools and skills of a system analyst for project management. Project management software will be used to track progress for reporting to a client.
IT-498 Special Topics in Information Technology (400 Level)Credits: 3
Prerequisite(s): IT-100 and as announced in the course schedule
Course Type(s): None
Topics of current interest in Information Technology.
IT-499 Independent Study in Information TechnologyCredits: 3
Course Type(s): None
Reading and research on a selected topic under the direction of a faculty member.
SE-199 Independent Study in Software EngineeringCredits: 3
Term Offered: Summer Term
Course Type(s): None
Independent Study of a particular subject or problem in software engineering under the guidance of a software engineering faculty member. Prior permission of the directing professor and department chair is required to take this course.
SE-205 Requirements Engineering and SpecificationsCredits: 3
Prerequisite(s): CS-104 and CS-175
Term Offered: All Terms
Course Type(s): None
Elicitation, analysis, specification, validation, and management of user requirements; process, notations, methods and tools, requirements standards, system requirements specifications document (SRS).
SE-207 Software Design and ArchitectureCredits: 3
Prerequisite(s): CS-104 and CS-176; and EN-101 and EN-102 or permission of the instructor
Term Offered: Spring Term
Course Type(s): WT
Design process notations, methods, paradigms, and tools. System architecture tradeoff analysis; component and subcomponent specification. Generic (domain) design; architectural styles, frameworks, and patterns. Architecture standards; design tools.
SE-289 Internship in Software EngineeringCredits: 3
Term Offered: Summer Term
Course Type(s): EX1
Supervised practical experience in Software Engineering. Repeatable for credit. Junior standing, departmental approval, and placement are required to take this course.
SE-299 Independent Study in Software EngineeringCredits: 3
Term Offered: All Terms
Course Type(s): None
Independent Study of a particular subject or problem in software engineering under the guidance of a software engineering faculty member. Prior permission of the directing professor and department chair is required to take this course.
SE-301 Android Application DevelopmentCredits: 3
Prerequisite(s): CS-205 and CS-205L
Course Type(s): None
This course will teach students software methodologies for Android App Development. This will include Android Development Studio, Kotlin programming language, and interfaces to external services required to develop simple to moderately complex Android mobile apps. Also listed as CS-301.
SE-306 Formal Methods in Software EngineeringCredits: 3
Prerequisite(s): MA-120 or MA-130, and MA-220, passed with a grade of C or higher.
Term Offered: All Terms
Course Type(s): None
Covers a variety of formal methods and applies them to software-specification development. Assumes a firm grounding in mathematical logic, knowledge of proof techniques, and skill in the translation of problems expressed in English into predicate logic.
SE-312 Software Verification, Validation, and MaintenanceCredits: 3
Prerequisite(s): CS-104 and CS-176
Term Offered: All Terms
Course Type(s): None
Covers inspections of requirements, design and code, as well as testing, the handling of change requests, software evolution, code comprehension, and change management.
SE-337 Enterprise Mobile iOS Apps Design and DevelopmentCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher
Term Offered: Fall Term
Course Type(s): None
Presents methodologies to build enterprise mobile apps on iPad tablets and iPhone smartphones using iOS. The course will cover technologies to use in the design and development of apps on mobile devices and integration of these apps with corporate data sources, sensor devices and cloud computing services. Also listed as CS-337.
SE-352 Embedded and Real-Time SoftwareCredits: 3
Prerequisite(s): CS-176, CS-176L, and SE-205 all passed with a grade of C or higher.
Term Offered: Spring Term
Course Type(s): None
Familiarizes students with the fundamental issues related to embedded and real-time software systems and gives them an opportunity to become familiar with a commercially available system for developing and testing embedded and real-time software. Topics include: definition of embedded systems, process concurrency, interprocess communications, synchronization, and process scheduling.
SE-353 Comparative LanguagesCredits: 3
Prerequisite(s): CS-176
Course Type(s): None
Begins with a history of the development of programming languages that provides the background necessary to understand programming-language design and evaluation. This is followed by an introduction to the basic programming language constructs and then critically comparing their implementation in some of the most common languages. Included is a discussion of the advantages and disadvantages of modern programming languages for a variety of applications. Some of the languages discussed are LISP, C, Small Talk, C++, Java, Ada, PL/1, and Prolog.
SE-357 Engineering Full-Stack Software ApplicationsCredits: 3
Prerequisite(s): CS-176 and CS-176L
Term Offered: All Terms
Course Type(s): None
A practical introduction to the principles, methods, and tools required to create high-quality software applications for the distributed, client-server context of the Web. Emphasis is on architectural designs, and language and data access methods that are common in Web-based systems. Also listed as CS-357.
SE-358 Software FrameworksCredits: 3
Prerequisite(s): EN-101, EN-102, CS-205 and SE-207 both passed with a grade of C or higher; and SE-357 or CS-357, or permission of the instructor.
Term Offered: Spring Term
Course Type(s): WT
An introduction to Design Patterns and modern Software Frameworks, programming languages, data access methods and asynchronous Application Programming Interfaces (APIs). This is a writing intensive course. Restricted to Computer Science or Software Engineering students only. Also listed as CS-358. SE-357 or CS-357 or permission of the instructor.
SE-360 Introduction to Game DevelopmentCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher
Term Offered: Fall Term
Course Type(s): None
An introduction to the creation of computer/video games and the different elements of games, including computer graphics, animation, artificial intelligence, algorithms, data structures, networking, software development cycles and human-computer interaction. Also listed as CS-360.
SE-370 Program Development Under UnixCredits: 3
Prerequisite(s): CS-176 passed with a grade of C or higher
Term Offered: Fall Term
Course Type(s): None
Introduction to the use of the UNIX operating system and its utilities for incremental and distributed program development, maintenance, and debugging. The course covers the UNIX shell, utilities, and program development tools that are used for large projects involving multiple developers on multiple machines. Three hours per week.
SE-398 Special Topics in Software EngineeringCredits: 3
Course Type(s): None
A 300-level intensive study of a particular subject or problem in software engineering to be announced prior to registration. May be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week. If a prerequisite is required it will be announced in the course schedule.
SE-399 Independent Study in Software EngineeringCredits: 1-3
Term Offered: All Terms
Course Type(s): None
Independent Study of a particular subject or problem in software engineering under the guidance of a software engineering faculty member. Prior permission of the directing professor and department chair is required to take this course.
SE-402 Human Computer InteractionCredits: 3
Term Offered: Spring Term
Course Type(s): IM
Covers basic human psychology, computer technology, and the interface between them. The key topics of HCI are examined, grounded in the context of usability and the design lifecycle.
SE-403 Software Process ImprovementCredits: 3
Prerequisite(s): CS-205
Term Offered: Spring Term
Course Type(s): None
Students will be introduced to the various aspects related to software processes. It will focus on the definition and modeling of a software process, as well as on methods for process assessment and improvement. The concepts will be illustrated through process-improvement case studies, followed by hands-on experience with the improvement of the personal software-development process.
SE-418 Software Project ManagementCredits: 3
Prerequisite(s): CS-176; and EN-101 and EN-102 or permission of the instructor
Term Offered: All Terms
Course Type(s): WT
Project management and its application to software-development projects. Emphasis will be on planning, organizing, monitoring, and controlling. Students will learn how to develop work breakdown structures, estimate task durations, assign resources, specify network precedence, and determine a project's critical path. Methods for scheduling in the face of resource constraints will be included, as well as function point counting, algorithmic models for estimating total project cost, and software tools for project planning and monitoring.
SE-450 Cyber SecurityCredits: 3
Prerequisite(s): CS-205
Term Offered: Fall Term
Course Type(s): None
Cover fundamental theory and practice of cyber security. Review cryptographic tools used to provide security, such as shared key encryption; public key encryption, key exchange, authentication, digital signature, and intrusion detection. Learn implementation of secure mechanisms in object-oriented programming languages. Also listed as CS-450.
SE-451 Applied Computer SecurityCredits: 3
Prerequisite(s): CS-450 or SE-450
Term Offered: Spring Term
Course Type(s): None
This course will introduce students to multiple aspects of computer security and practice into a series of well-defined security topics such as network security and hacking tools. Also, the student will introduce different topics of digital forensics. Also listed as CS-451.
SE-485A Software PracticumCredits: 3
Prerequisite(s): CS-205, SE-205, SE-207, SE-312, SE-357 and SE-358 All passed with a grade of C or higher.
Term Offered: Fall Term
Course Type(s): EX5, RD
Team work on substantial software projects submitted by corporate sponsors. Interim progress reports required, with a final formal defense and presentation to corporate staff, faculty, and other students in the course. At the end of SE-485A, students must submit their software engineering portfolio for review by the Software Engineering faculty.
SE-485B Software PracticumCredits: 3
Prerequisite(s): SE-485A
Co-requisite(s): SE-402
Term Offered: Spring Term
Course Type(s): EX5, RD
Team work on substantial software projects submitted by corporate sponsors. Interim progress reports required, with a final formal defense and presentation to corporate staff, faculty, and other students in the course. At the end of SE-485B, students must submit their software engineering portfolio for review by the Software Engineering faculty.
SE-498 Special Topics in Software EngineeringCredits: 3
Term Offered: Fall Term
Course Type(s): None
A 400-level intensive study of a particular subject or problem in software engineering to be announced prior to registration. May be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week. If a prerequisite is required it will be announced in the course schedule.
SE-499 Independent Study in Software EngineeringCredits: 1-3
Term Offered: All Terms
Course Type(s): None
Independent Study of a particular subject or problem in software engineering under the guidance of a software engineering faculty member. Prior permission of the directing professor and department chair is required to take this course.
Print this page.
The PDF will include all information unique to this page.
Download the Complete 2024-2025 Undergraduate PDF Catalogs.
Download the Complete 2024-2025 Graduate PDF Catalogs.