Computer Science Courses


For an official and updated listing of courses, please refer to the current academic catalog.

CSC101 - Introduction to Computer Science

This course is designed to provide students with the introductory concepts of the computer science. Topics cover introductory computer hardware architecture and software development using Visual Basic.

CSC112 - Introduction to Programming I

This course is designed to provide students an introduction to the fundamentals of computer programming and program implementation using C++ or Java.

CSC201 - Intro to Programming II

This is a second course in programming. It covers an in-dept introduction to computer science at a level appropriate to those students considering a major or minor in computer science. Topics include data structure, problem-solving methods, algorithm development, and program implementation using C++ or Java.

CSC210 - Computer Hardware Organization

Introduction to hardware organization and digital circuit design fundamentals. Students will engage with a digital circuit design project.

CSC242 - Web Page Design

This course is designed for any student who wants to learn introductory webpage design concepts and skills. Students will participate in a series of lectures, discussions, hands-on labs, and projects that focus on HTML, CSS and basic web page design and authoring skills. Students are required to complete a number of projects and a final website.

CSC243 - Computer Graphic Arts

This course is designed for both computer science and non-computer science students who want to learn computer graphic and image-editing techniques. Topics include, image retouching, painting, drawing, coloring, Web tools, and media integration. Adobe Photoshop, Image-Ready, and media compression software applications will be used. Students are required to present final project for credit.

CSC245 - Computer Graphics and Animation

This course is designed to introduce students the fundamental concepts of computer graphics and animation using the Adobe Flash. In specific, the course will cover the Adobe Flash environment and ActionScript programming, character development, animation techniques, vector graphics, use of sound, and scripting fundamentals. Upon completion of the course, students are expected to be able to create an animation movie and design Flash games.

CSC311 - Data Structures and Algorithms

This course is designed to introduce students an intermediate level of understanding data types and structures including arrays, stacks, singly and doubly linked lists, queues, trees, sets and graphs. Students will learn storage management and rudiments of the analysis of algorithms as well as programming techniques for processing such structures. Also covered the techniques for sorting and searching, hashing, and garbage collection.

CSC312 - Database Concepts

A course in database design and management. Topics include a conceptual understanding of database systems, various database implementation methods, database design using client/server methodology, relational and object-oriented database technology, and database languages including SQL. The students are required to complete a series of projects that explore MS SQL or Oracle database environments.

CSC340 - Web Programming

A course in web programming and website design. Topics include a conceptual understanding of the server-side programming, database interfacing/implementation methods, various server scripts including Javascript, PhP, ASP, Shell Programming.

CSC341 - Management Information Systems

This course is designed to introduce students to the concepts and practices of management information systems.  It aims to enlighten the students on computerized information technology tools and how these are used to build and effectively manage today’s businesses.  This course also aims to equip the students with a foundational understanding of the Management Information Systems discipline through textbook case analyses, selected readings, lectures/discussions and individual project assignments. This course is co-listed with the Business Department.

CSC345 - Advanced Programming

This is an advanced computer programming course. It covers an in-depth understanding of programming language principles. Topics include: (1) syntax and semantics, (2) survey of different programming language paradigms: procedural, object-oriented, functional, logic, concurrent and special purpose programming languages, (3) comparison between .Net and J2EE from the programming language perspective.

CSC347 - Computer Graphic Arts

This course is an advanced computer graphics course. It will cover major aspects of digital image generation: geometric modeling, computer animation, and rendering. The course will also provide students various advanced techniques for rendering 2D and 3D computer graphics used for the electronic game design and programming. Topics will include the subdivision surfaces, real-time global illumination, and physically based animation.

CSC411 - Software Engineering

This course introduces the fundamental concepts of software engineering. The topics to be covered include: (1) software development life cycle models, (1) software requirements and analysis, (3) software design, (4) software implementation, (5) unit testing and system testing, (6) validation and verification and (7) software maintenance.

CSC412 - Project Management

This course is designed to introduce students the basic principles of project management. Students will learn how to identify and schedule project resources, create project flow charts, and produce critical path planning and evaluation reports. Topics to be covered include: (1) project selection and scope definition, (2) work breakdown structures and statements of work, (3) risk management, (4) project scheduling, (5) project team selection and development, and (6) strengths and weaknesses of various project management tools.

CSC441 - Data Communications and Networks

A course in data communications and computer networks. Topics includes the architecture of data communications systems, data transmission concepts, fundamentals of computer networking, OSI reference model, and applications issues in file transfer, electronic mail, remote job entry, and network directory services.

CSC442 - Operating Systems

This course covers the fundamental concepts in design and implementation of operating systems. Topics include process management, process synchronization and inter-process communication, memory management virtual memory, interrupt handling, processor scheduling, device management, I/O, and file systems.

CSC444 - E-Commerce

Introduction to e-Commerce. This course is designed for students majoring in either Computer Science or Business. Topics include Web technology, Database infrastructure for E-Commerce, Security, Electronic payment systems, and different elements of e-Business and e-Commerce with real-world applications.

CSC445 - Network Security

This course is designed to provide students with the network security fundamentals, including understanding virus programs and its prevention measures, encryption techniques, design of secure systems, and the counter measures to hacking by exploring hacker’s mentality and hacking methods used. This course is co-listed with the Criminal Justice Department.

CSC447 - Network Design and Implementation

This course is designed to provide students with the essential foundation of network design and its implementation. The course prepares candidates for Microsoft Networking Certification.

CSC448 - Game Design

This course introduces students to the foundations of game design and implementation. Students will develop a varied and practical skill set while building a solid understanding of game design through the convergence of the fundamental elements of game development: the design of art assets for digital games, developing critical and cultural understandings of digital games, and the relationship of digital games to important trends in learning and literacy. Topics of study include the history of various types of games, survey of computer game categories, platforms and trend, major game components, an overview of the game development process, the skills and tools needed for story and character development, game design, pre-production, prototyping, testing, end-user testing, human interface, content development and communication documents.

CSC460 - Special Topics in Computer Science

This course is designed to introduce students about the latest ideas and the proceedings in computer science.

CSC470 - Senior Seminar

A seminar course in computer science. Only upper level juniors and seniors are allowed to take this course.

CSC472 - Integrative Project

This course is a project-oriented course designed for juniors and seniors to culminate their knowledge and skills obtained from their studies within the computer science major. The project entails the development of a significant piece of software or hardware by a student team, supervised by a designated computer science faculty. Students will have the opportunity to practice essential project management skills and work with current software tools and technologies. Student teams will develop a project scope, project plan, document functional specifications, develop a design document, implement specified functions, provide weekly progress reports, give project presentations to the class, conduct final project presentation to the class, and provide a complete final report that includes documentation of all class activities.

CSC490 - Internship

This course is designed to provide students the opportunity to gain work experience at the partner organization.