Computer Science Courses
Computer Science Courses (CS)
104 The Computer as a Tool This course is an introduction to the computer as an information processing tool. It surveys general purpose programs: word processing, spreadsheets, database management and presentation graphics. It presents fundamental computer concepts: hardware, software and introduction to programming. It analyzes specialized uses of the computer in the arts, education, humanities and sciences and considers the role of the computer in society. Prerequisite: Completion of MA 095; or placement into MA 100 or higher.
105 Computers and Technology in Education This course provides an opportunity for those students who will be using computers and technology in instruction to develop computer and multimedia technology skills, enabling them to develop, interpret and evaluate computer applications in an instructional environment. Prerequisites: Education majors.
107 Website Development (4 credits, day; Fall, Spring) This course examines the principles of Web page development from a technical standpoint. It is not a course in design, although it does touch on that area. After considering the relationship between design and function, students begin to write and demonstrate Web pages. Web pages will be implemented using both raw HTML and a code generator such as Dreamweaver. If time permits, Java Script will be introduced. Prerequisite: CS 104 or the equivalent.
128G Modern Programming Languages: SAS
201 Problem-Solving with Algorithms and Programming I (4 credits, day; Fall, Spring) This course is an introduction to the understanding of computer systems, the use of structured programming concepts, algorithm development, debugging and data analysis. It is taught with a high-level programming language. Currently the language is Java.
202 Problem-Solving with Algorithms and Programming II (3 credits, evening) A continuation of CS201. Topics considered in this course include recursion, dynamic memory allocation (linked lists) and an introduction to professional programming techniques. Prerequisite: CS201.
203 Data Structures and Algorithm Analysis This is an advanced course in the application of analysis and design techniques to algorithms that act on data structures. Prerequisite: CS 202 Co-requisite: MA 230; or permission from the Department.
225 Research Writing for Computer Science This course is intended for second-semester sophomores, it focuses on helping students gain facility with the following major types of computer science writing: instructions/manuals/code documentations, literature reviews, critiques, data presentations, research proposals and system-improving proposals. Exposure to these various types of writing will serve students well in future courses and their career. Prerequisites: EN101, CS201 and MA230.
227 Computer Networking Fundamentals (3 credits; Fall) This course is an introductory study of current computing networking technologies, systems, equipment, and management/configuration software. It includes hands-on lab sessions and course projects.
228 Modern Programming Languages This course is an introduction to contemporary computer languages such as 228A: Python; 228C PROLOG; 228D LISP; 228E Visual Basic; 228G SAS; 228H C++; 228K SASII. Content and credit hours vary depending on the interests of students and instructor. It may be repeated for credit with permission of the adviser. Prerequisites: CS 202.
228A Modern Programming Languages: Python
228H Modern Programming Languages: C++
228K Modern Programming Languages: SAS II
US229 3-Dimentional Programming and Storytelling with Alice This course is designed to introduce students to computer programming through the use of the "Alice" programming language. "Alice" is a very simple introductory language which students will almost immediately be able to use to create. Non-Computer science or computing technology majors who want an introduction to computer programming might consider US229.
US230 International Computer Ethics This University
Seminar examines the ethical consequences of the expansion of computer
usage in our society and internationally. The course aims to give
students a solid grounding in ethics in general and the ethical dilemmas
that are unique to computer applications. Note: US 230 can count toward
the Computer Science or Computing Technology majors and minors or the
Philosophy major and minor.
233 Mobile Phone Programming This course is an intensive study of fundamental concepts, design strategies, tools and APIs (Application Programming Interface) to create mobile phone applications on the open Android platform. Topics include the mobile software development process, design of mobile user interfaces, data storage, networking, location and mapping, multimedia and graphics. The intended student audience is sophomore computer science students. Prerequisite: CS202 or instructor’s approval.
242 Introduction to Network Security This course will present the theory, methodology and hands on labs necessary for students to acquire fundamental knowledge of Information Security. Topics covered will include, Attacks and Malicious Software, Email Security, Remote Access, Web Security, Wireless Security, Cryptography, Infrastructure Security, Intrusion Detection Systems, and Security Baselines. This is a technical course that is designed to provide students with practical knowledge in the field of Information Security. Prerequisite: CS227 and a fundamental understanding of computer concepts including file management in Windows environment.
277 Introduction to Data Mining This course provides an introduction to the key concepts, tasks, and techniques of data mining. It focuses on providing students with the knowledge needed to manipulate and extract new information from large amounts of data. Topics will include data pre-processing and feature selection, decision trees, cluster analysis, classification, machine learning, evaluation and validation, as well as scalability. The course will illustrate these issues and techniques through the use of practical applications and examples taken from various domains, including biology, computer science, sociology, and economics. Prerequisite: MA100.
306 Building Web Applications This course is an intensive study of client/server technology and the methods, languages and tools for developing multi-tier distributed applications on the Internet. It includes Web-based programming projects. Prerequisite: CS 107 and CS 202 or permission of the instructor.
308 Introduction to Computer Gaming This introduction to computer game development is designed for students with a background in programming. The focus of the course is on game play, design process, and programming for a two-dimensional environment. Prerequisite: CS 202 or permission of the instructor.
315 Theory of Computation In this introduction to the theoretical basis of computing, topics include a review of graph theory; network models; grammar, languages and automata; Turing machines; computability. Offered on request. Prerequisites: CS 201 and either MA 230, MA 322, or MA 302.
317 Design and Analysis of Algorithms The course is the study of the design and analysis of algorithms, with emphasis on efficiency. Prerequisites: CS 203 and either MA 230 or MA 330.
338 Bioinformatics (Also listed as BI338) The focus of this course is on genomics including concepts in gene structure and function. Students will gain knowledge in the utilization of genome databases/browsers and bioinformatic tools employed for gene model prediction (annotation), and use those tools to annotate sequences from various eukaryotic genomes. Students will be given instruction on algorithm design based on pattern-matching and will gain hands-on experience in the use of algorithms to help predict gene models and to test those models for accuracy within the context of the programming language Perl. Collaboration between students trained in different disciplines (math, computer science, biology) will be encouraged in order to address issues in genomics and to reflect the interdisciplinary nature of the field. Prerequisite: BI101/102 or CS201/202.
341 Computer Ethics This course examines the ethical consequences of the expansion of computer usage in our society and aims to give Computer Science majors a solid grounding in ethics in general and the ethical dilemmas that are unique to computer applications. As computer applications expand into nearly every aspect of our daily lives, it has become vital that computer professionals are well-acquainted with the ethical problems unique to computers.
354 Database Management Systems Design This detailed study of design and implementation of a database management system includes file security and some form of query into the system. Prerequisite: CS 202.
358 Operating Systems This course is a study of the major concept areas of computer operating systems principles; the architecture of computer systems at the register; transfer and programming levels of system description; and the inter-relationships between the operating system and the architecture of computer systems. Prerequisites: CS 202, 203.
362 Computer Organization and Architecture This advanced course in computer system organization includes logic design, data representation and transfer, digital arithmetic, digital storage and accessing, control and input/output reliability. Prerequisites: CS 202, 203.
370 Computer Graphics This introduction to the theory and methodology of computer graphics develops underlying principles for the representation of objects and surfaces with computers, including translation, rotation, scaling motion, parallel and perspective projection, and hidden lines and surfaces. Class usage of the computer is an integral part of the course. Not regularly offered. Prerequisite: CS 201.
372 Data Communications I This study of the aspects of developing and designing data communication networks includes identifying and defining the design of the proposed system, analyzing the type of message, determining the total traffic, developing alternative configurations, calculating the network cost, implementation, and follow-up evaluation. Prerequisite: CS 202, MA 230, CS 227 or permission of the instructor.
373 Data Communications II This is the second course in data communications. It concentrates on both theoretical and practical aspects of the TCP/IP and ATM network protocols. Students design, build and troubleshoot networks. Prerequisite: CS 372.
376 Organization of Programming Languages This course is a study of programming languages specification and analysis, comparing their features and limitations. Not regularly offered. Prerequisites: CS 202, 203.
378 Artificial Intelligence This introduction to basic concepts and techniques of intelligent systems includes insights into active research areas and applications, strategies for choosing representations, notational systems and structures, natural languages, vision systems, search strategies and control. Not regularly offered. Prerequisites: CS 202.
387 Special Topics in Computer Science (1-4 Credits) In this seminar in advanced topics of computer science, content and credit hours vary depending on interests of instructor and students. May be repeated for credit. Prerequisites: CS 202, 203.
389 Independent Study Independent study is directed research or a project in an advanced area of computer science. Credit may vary. Prerequisites: Junior standing and permission of the Chair and the instructor concerned.
490 Capstone Course I Study of system analysis and design leads to a significant computer project to be implemented in CS 491. Prerequisite: CS 354; or permission of the Chair.
491 Capstone Course II Continuation of CS 490. Focuses on application of state-of-the-art techniques in software design and development. Includes implementation of senior project designed in CS 490. Prerequisite: CS 490.
492 Computing Technology Capstone I This is the first course of a two-semester Computing Technology Capstone courses. The fall semester is designed to prepare the student for the design, implementation, management, and upgrade of medium- to large - scale computer technology solutions. Through in depth labs in the areas of wired and wireless networking, core services like DNS/DHCP, computer operating systems Windows, Mac, and Linux, and iOS and Android devices, students will review and refine technical skills, We will also cover critical nontechnical skills such as project management, presentation and technical solution documentation, Finally, in the fall semester, students will write a 4 to 6 page paper researching the design, and implementation of a large scale technical solution, i.e. how did Facebook build their server infrastructure, or how a school district in their area upgraded their computer labs and network. Prerequisite: CS372.
493 Computing Technology Capstone II This is the second course of two-semester Computing Technology capstone courses. In this course, students will engage with a real world client to solve a computing technology problem involving wired and/or wireless network. Prerequisite: CS492.