Undergraduate Courses

  • CSC 111 Introduction to Computer Science: This course is offered to non-majors as an introductory course to computer science. Number systems, hardware, software, architecture and other topics will be explored. Students will learn the fundamentals of programming using various platforms such as HTML, JavaScript and the object-oriented Alice. Other software may also be explored throughout the semester. Students will be expected to develop significant projects throughout the course. (L08) (3 credits)
  • CSC 113 Creative Computing using Alice: Students receive a gentle introduction to visual computing with Alice. Alice is a highly visual system that allows beginning-level students to construct interesting projects without using a typical text-based language. Students learn to produce attractive, working animations while mastering some fundamentals of design and construction of computer programs. This course offers a valuable “objects first” approach to computing that will serve as a base for those who might be interested in further study in computer science, as well as those simply looking for an exciting introduction to the field. This class is an alternative to CIS 111 for people who are interested in creativecomputing; there is no prerequisite. (L08) (3 credits)
  • CSC 202 Introduction to Programming: Topics include numbering systems, flowcharting, program design, implementing algorithms, program decomposition using functions, classes and objects, file handling and simple data structures. This course includes many small programming projects. This course is a prerequisite for most upper-level courses in the CIS/CS major. Successful mastery of programming concepts and skills in this course is a key predictor of success in upper-level CIS/CS courses; thus, a minimum grade of C+ is required for progress to other courses within the major. (L08) (4 credits)
  • CSC 203 PC Organization and Operation: This course is designed for students with introductory knowledge of computer literacy. The course will be devoted to a practical examination of the structural organization and operation of microcomputers, peripheral hardware and operating systems. Considerable emphasis will be on the physical construction of components. (L08) (3 credits)
  • CSC 204 Educational Computing: Pre-service teachers will learn to use software programs that will increase their future productivity as teachers. Students will learn how to create presentations and instructional materials using Microsoft PowerPoint. Students will learn how to simplify their record-keeping tasks, perform data analysis, and create graphs using Microsoft Excel. Students will learn how to create classroom and/or instructional Web pages and knowledge inquiry learning units, called Web Quests, via a Web page editor. Students will reinforce techniques learned in class via several projects. In addition to learning practical computer skills, students will learn about various issues concerning the effective use of computers in the classroom. Students will prepare oral presentations to share their research on topics such as digital divide, gender considerations, technology available to assist students with disabilities, quality Web resources for homework help, cyber-safety for children, and use of Web resources in lesson planning and enrichment. Prerequisite: some word-processing skills. (L08) (3 credits)
  • CSC 205 Windows Programming 1: This course will introduce students to Windows programming in C#. Students will develop skills in event-driven programming and create graphical interfaces. There will be an emphasis on problem analysis, modular development strategies, and interface design, in addition to reinforcement of fundamental programming skills. Students will implement programming projects in C#. Prerequisite: CIS 202 with grade of C+ or higher, or permission of the instructor. (L08) (3 credits)
  • CSC 302 Data Structures: The descriptions, representation and manipulation of abstract data structures, including arrays, linked lists, stacks, queues, and trees. There is a strong emphasis on the use of classes for representing complex data types. Advanced topics include recursion, searching and sorting, analysis of algorithms, inheritance, and polymorphism. The course includes many programming projects. Prerequisite: CIS 202 with grade of C+ or higher. (4 credits)
  • CSC 305 Windows Programming 2: This course will focus on advanced interface programming techniques using C#. Topics will include study of code and form classes with emphasis on object-oriented concepts such as inheritance, polymorphism, aggregation, delegation, and abstract classes. Other topics will include the Windows Drawing namespace, animations, multithreading, specialized data structures, construction of components and custom controls, exotic intrinsic controls, and interoperability of Windows components. Prerequisite: CIS 205 with grade of C+ or higher. (3 credits)
  • CSC 311 Computer Graphics: Introduction to computer graphic systems and display devices. A study of graphic input techniques, data structures, and software using both 2D and 3D graphics. Topics include graphical algorithms, two-dimensional transformations and viewing, three-dimensional transformations and viewing, hidden line removal, shading, fractal programming and the use of graphics in human-machine communications and computer-aided design. Other software may be explored. Prerequisites: CIS 202 with grade of C+ or higher, and MAT 180 or higher. (3 credits)
  • CSC 317 Forensic Computing:  This course will serve as an introduction to forensic investigations in the digital domain. The course will focus on the representation, encryption, storage and retrieval of digital information in modern day computing. Other topics include disk geometry, elementary computer architecture, TCP/IP protocols and the Internet, operating and file system architectures, and file system forensic analysis. Students will learn specific procedures for both internal and external investigations of personal computers, mobile devices and mobile media, consistent with the Good Practice Guide for Computer Based Electronic Evidence, as put forth by the National Hi-Tech Crime Unit (NHTCU) and the Association of Chief Police Officers (ACPO). As part of the course requirements, students will work in a lab setting to investigate and collect evidence from a personal computer obtained through a hypothetical search and seizure. Prerequisite: CIS111 or CIS113 or CIS202, or permission of the instructor. (3 credits)
  • CSC 321 Database Management Systems: An introduction to database management systems. Topics include hierarchical, network, and relational data models, database design, queries, creating forms and reports, and XML. Special attention is focused on SQL and normalization. Students will develop a significant relational database application. Other topics include functions of a database management system, database administration and data security issues. Prerequisite: CIS 202 with grade of C+ or higher, or permission of the instructor. (L08) (4 credits)
  • CSC 332 Microcomputer Architecture and Programming: A description of the architecture of a typical microprocessor, and an introduction to programming on the assembler level. Topics include integer and floating point data representation, circuit design, control unit and ALU architecture, microcode, machine language, assembly language, addressing modes and assembler translation. Prerequisite: CIS 202 with grade of C+ or higher, or permission of the instructor. (3 credits)
  • CSC 342 Artificial Intelligence: An introduction to artificial intelligence. Topics include issues in artificial intelligence, expert systems, logic programming using Prolog, neural networks, fuzzy logic, geographic information systems, evolutionary and genetic programming, robotics, speech recognition, linguistics and other topics. Students design and implement projects using C++, Prolog and other programming languages. Prerequisite: CIS 202 with grade of C+ or higher, or permission of the instructor. (3 credits)
  • CSC 344 Computer Networks: This course serves as an introduction to computer networks and data communications in the modern world. Both theoretical and applied technologies will be discussed. Emphasis will be placed on mastering the TCP/IP protocol suite. Additional topics include: a discussion of centralized, decentralized, and distributed systems; a comparison of asynchronous and synchronous communications networks; hardware and software components for microcomputer-served local area networks; the Internet; and network security. (3 credits)
  • CSC 355 Internet Programming 1: The focus of this course is on client-side programming using HTML and JavaScript, dynamic HTML, style sheets, design standard for webpages, and server-side programming using PHP. A significant programming project will be assigned. Prerequisites: CIS 202 with grade of C+ or higher, and CIS 321. (3 credits)
  • CSC 404 Animation and Rendering: This course focuses on developing projects with Flash animation tools. Topics will include traditional cel animation implemented on a timeline, motion tweening, shape tweening, embedded film clips, action scripting, sprite construction, and illusions. There will be an in-depth examination of wire-frame and three-dimensional rendering. Both free-standing Flash movie clips and interactions of Flash movie clips with Windows executables will be developed. Participants are expected to have completed at least an introductory-level course in computer science, such as CIS 111, or demonstrate a fundamental understanding of Internet programming (HTML and JavaScript). (3 credits)
  • CSC 405 Computer Game Design: This course focuses on designing computer games for Windows interfaces. Some areas of concentration include manipulation games (such as drag-and-drop picture puzzles), elements of traditional card games such as shuffling, dealing and manipulating hands, team board games such as checkers or Reversi, action games (“Super Pong”), and programmable autonomous games (robot simulation). Code scaffolds for the various games will be developed in class, and students will be encouraged to enhance, modify and extend some of the games with particular attention paid to the visible interface. Programming will be demonstrated largely with .NET-compliant code. Some exposure to other animation systems may be available. Students may completeprojects in any language they desire if they are able to demonstrate a source codeversion on a laptop computer or a College computer. Participants are expected to have a level of visual programming competence equivalent to that required for completion of CIS 305 (Windows Programming 2). Prerequisite: CIS 305 or permission of the instructor. (3 credits)
  • CSC 414 Bioinformatics 1: Recent advances in fields such as molecular biology have brought about an enormous mass of data beyond which can be analyzed by traditional or manual methods. Fortunately, we have also seen profound advances in the area of computational power (i.e. processing speed and storage). In this course, we will examine computational problems in molecular biology and methods for solving these problems using various machine learning techniques. Topics from the area of computer science will include computationally tractable and intractable problems, artificial neural networks, decision trees, Bayesian belief networks and hidden Markov models. Topics from the area of molecular biology will include DNA fragment assembly, pair-wise and multiple sequence alignment, motif recognition, phylogenetic tree construction, protein structure prediction, and existing software packages such as FASTA, BLAST, PSI-BLAST, and PHD. Prerequisite: CIS 302 or a 300-level Biology course. (3 credits)
  • CSC 415 Bioinformatics 2: This course serves as a sequel to Bioinformatics 1, with an emphasis on bioinformatics theories and applied artificial intelligence. Students will develop and implement a machine learning model targeted at predicting protein secondary structure from amino acid sequence data. The class will review and discuss current literature in the field of machine learning, bioinformatics and phylogenetics. Prerequisite: CIS 414. (3 credits)
  • CSC 416 Bioinformatics Project: In this course, students will develop a significant project in bioinformatics. Possible project subjects include protein sequence alignment, phylogenetic tree construction, DNA fragment assembly and the Protein Folding Problem. Prerequisites: CIS 414 and CIS 415. (3 credits)
  • CSC 423 Systems Analysis and Design: A study of the systems development lifecycle with emphasis on the principles of structured analysis, focusing on both traditional system design and the object-oriented approach. Topics include preparing the Systems proposal, project management, feasibility studies, entity-relationship diagrams, data flow diagrams, data dictionaries, use-case process descriptions, designing user interfaces, prototyping and quality assurance. Students will also design and implement various representative case studies using the platform of their choice. Both the traditional approach (Data Flow Diagrams) and the object oriented approach (UML – Unified Modeling Language) will be explored. Prototyping will be emphasized. Prerequisites: CIS 302, CIS 321. (3 credits)
  • CSC 424 Systems Design and Implementation: An application of the tools and techniques studied in CIS 423. Topics include software design principles and tools such as UML, interface design, database design and file handling, hardware specification, system quality and benchmarking, system testing, documentation, conversion, deployment and maintenance. Students will submit at least three standard system documents to satisfy the requirements for a writing-intensive course. Students will develop detailed design specifications and implement an information system during a semester-long project. The project will require a graphical user interface. Some portions of the course will involve group projects. Fulfills writing-intensive requirement. Prerequisites: CIS 305, CIS 423. (3 credits)
  • CSC 431 Algorithms: This is a course on design and analysis of algorithms. It is organized around algorithm design techniques, including exhaustive search, divide-and-conquer, dynamic programming, greedy algorithms, and backtracking. The mathematical analysis of algorithm complexity is emphasized throughout the course. Prerequisite: CIS 302. (3 credits)
  • CSC 432 Operating Systems: An introduction to modern operating systems. This course provides both a theoretical and hands-on approach to the components of modern operating systems. Issues involving resource allocation, concurrency control, memory management, security, deadlock avoidance, and file system management are discussed. Students create and modify operating system components in both Windows and Unix environments. Prerequisite: CIS 302. (3 credits)
  • CSC 433 Programming Languages: A study of programming languages. This course explores fundamental concepts and general principles underlying programming languages and their use. These concepts are illustrated using a procedural language, such as C, a functional language, such as Scheme, and a logic programming language, such as Prolog. Advanced topics in object-oriented programming are also explored. Topics covered include language design, scope rules, binding, parameter passing mechanisms, as well as an introduction to interpreters and compilers. Prerequisite: CIS 302. (3 credits)
  • CSC 434 Software Engineering: This course will expose students to both a theoretical and a practical foundation in software engineering. On the theoretical side, students will learn about the standards and methods of software engineering, including current and emerging software engineering practices and support tools. On the practical side, students will become familiar with the development of software products from an industry perspective, including generation of appropriate documents under tight schedules and limited resources. Fulfills writing-intensive requirement. Prerequisite: CIS 302. (3 credits)
  • CSC 444 Advanced Networking: The Advanced Networking course will serve as a sequel to CIS 344. Students will obtain hands-on experience working with an on-campus Linux network laboratory. Topics will include network performance analysis and modeling, network security, the hardware/software network interface, and queuing theory. Prerequisites: CIS 344 and satisfactory completion of at least one Mathematics core course. (3 credits)
  • CSC 451 Embedded Systems 1: Hardware and software design of microprocessor-based systems. A study of the basic concepts and operations of on-chip components as related to digital system functionality. Programming on the assembler level. Laboratory exercises and a group design project are required. Prerequisite: CIS 332 or permission of the instructor. (3 credits)
  • CSC 452 Embedded Systems 2: This course is a continuation of CIS 517 and builds on the knowledge of the on-chip components learning to increase the functionality of the processor by interfacing with external devices. Programming in both C and assembly language. Prerequisite: CIS 451. (3 credits)
  • CSC 453 Programming Mobile Devices:  This course will serve as an introduction to programming applications for mobile devices. The course will focus on two programming platforms: Open source J2ME and Apple’s proprietary software Objective-C. Students will develop mobile applications using both a Mac computer and a PC. Topics will include Mac OS X Leopard, iPhone OS, tools for OS development, application development using Objective-C, the Android Software Development Kit and Java 2 Micro Edition. Students will have the opportunity to test their applications through a simulator and then download them to a mobile device.
  • CSC 455 Internet Programming 2: The focus of this course is on server-side programming using Java. After a quick introduction to Java, we will study JDBC, servlets, JSP, JSTL, struts, and Enterprise Java Beans. A significant programming project will be assigned. Prerequisite: CIS 302. (3 credits)
  • CSC 460 Search & Information Retrieval: Search is a cornerstone application of the Web that also plays a critical role in numerous software applications. This course offers a study of Information Retrieval (IR). We cover both classic and modern IR topics, including search engines, text processing, crawling, indexing, ranking, clustering, searching social networks, and integrating search into existing software applications. Students embark on hands-on programming projects, including a larger-scale team-based project. Additional topics include: image, audio, and video search; performance tuning; and the Semantic Web. Corequisite: CIS 321. (3 credits)
  • CSC 494 CIS Internship: A supervised internship in organizations in the private and public sectors. This course provides students with the opportunity to apply their knowledge in the workplace. This course is graded on a pass/fail basis. Prerequisite: departmental permission. (2-6 credits)
  • CSC 499 Independent Study (3 credits)
+ Insert a content module here