Courses

CS 210 Fundamentals of Computer Science I • 5 Cr.

Introduces computer science and programming for CS majors. Students learn design and implementation of algorithms and programming in a structured, modular language, with emphasis on problem solving, program design, and style. Prerequisite: MATH&141 (or higher), or placement by assessment in MATH&142 or above, or entry code.

CS 211 Fundamentals of Computer Science II • 5 Cr.

Continues CS 210, with data structures algorithm analysis. Students learn to create and use arrays, records, lists, stacks queues, binary trees, strings, and sets. Other topics may include searching and sorting, abstract data types, recursion, and hashing. Prerequisite: CS 210 or entry code.

CS 300 Data Structures • 5 Cr.

This course is an introduction to the fundamental concept of data structures. It explains how to organize and store data efficiently using data structures and how to select appropriate data structures. The course further focuses on understanding the fundamental algorithms and analyzing the time and space complexity of these algorithms. Prerequisite: CS 211 and admission to BS CS program, or permission of instructor.

CS 320 Programming Languages • 5 Cr.

This course is an introduction to the design and implementation of programming languages. The course explores organization and structure of programming languages, run?time behavior and requirements of programs, and programming language specification. The course teaches the programming models underlying different programming paradigms such as functional, logic, scripting and object-oriented languages. Prerequisites: CS 300 and admission to BC CS program, or instructor's permission.

CS 331 Database Systems • 5 Cr.

The course covers the fundamental concepts of database systems. It teaches students the internals of database systems including data model, database design, relational model, relational algebra, SQL, indexing, concurrency control, query processing, transaction management and recovery. This course also aims to teach the new directions involving NoSQL persistence models. Prerequisites: CS 211 and admission to BC CS program, or instructor's permission.

CS 341 Computer Networks • 5 Cr.

The course teaches the fundamentals of computer networks, with emphasis on the Internet. The course covers basic concepts of computer networks, layered network architecture, protocols, network programming interfaces, and concept of network performance. The course also provides students with the opportunity to having a hands-on experience by network programming.. Prerequisites: CS 211 and admission to BS CS program, or instructor's permission.

CS 351 Computer Architecture I • 5 Cr.

This class introduces different hardware architectures, organizations and operations of various machines. Primary topics include number representation, CPU concepts, hardware/software interaction, hardwired control, microprogramming control, memory hierarchy, I/O organization, assembly language and pipeline. Prerequisite: CS 211 and admission to BS CS program, or instructor's permission.

CS 360 Operating Systems • 5 Cr.

This class introduces the design and implementation of modern, process oriented operating systems, as well as systems programming basics. Primary topics include operating system structure, processes, threads, synchronization, memory management, virtual memory, file systems, I/O subsystem and device management. Prerequisite: CS 351 and admission to BS CS program, or instructor's permission.

CS 401 Algorithms • 5 Cr.

This course teaches the concepts and skills required to design, implement and analyze algorithms for constructing efficient computer programs. The course covers elementary data structures, searching, sorting, graph and string algorithms, and algorithm design principles such as dynamic programming, greedy, divide-and-conquer paradigms. The emphasis is on applications and scientific performance analysis of algorithms. Prerequisites: CS 300, MATH 301 and admission to BS CS program, or instructor's permission.

CS 410 Software Engineering • 5 Cr.

The course teaches the fundamental concepts and principles of software engineering, its tools and techniques, and methods for building reliable software systems. This course introduces all phases of the lifecycle of a software system, including requirements elicitation and analysis, design, implementation, integration, testing, verification and validation, deployment, and maintenance. Prerequisite: CS 300 and admission to BS CS program, or instructor's permission.

CS 455 Cloud Computing • 5 Cr.

This course is an introduction to cloud computing. It teaches distributed computing concepts, the architecture of cloud computing, cloud services, virtualization, and cloud-based data storage. The course provides students with the opportunity to having a hands-on experience by deploying an application that uses cloud architecture for computing and data resources. Prerequisites: CS 331, CS 341, CS 360 and admission to BS CS program, or instructor's permission.

CS 460 Machine Learning • 5 Cr.

This course is an introduction to the fundamentals and applications of machine learning. The course provides students with the opportunity to have theoretical knowledge and practical experience on basic concepts of machine learning with programming assignments. The course focuses on fundamentals, not on providing mastery of specific commercially available tools. Prerequisites: CS 401, MATH 208, MATH 270 and admission to BS CS program, or instructor's permission.

CS 470 Mobile Application Development • 5 Cr.

This course is a project-oriented course on software application development for mobile devices. It teaches the basic principles of mobile application design, development and testing for resource-restricted devices. The course provides students with the opportunity to having a hands-on experience by deploying a real-world mobile application on the Android platform. Prerequisite: CS 300 and admission to BS CS program, or instructor's permission.

CS 481 Senior Capstone I • 3 Cr.

This course focuses on literature review, requirement specification, project management, initial design and prototyping of the three-quarter long computer science project. Students work in teams and are given milestones. The course includes lectures, reading assignments and guest speakers on development process, team working, report writing and emerging trends in computer science. Prerequisites: CS 410 and admission to BS CS program, or instructor's permission.

CS 482 Senior Capstone II • 4 Cr.

This course is the second in a sequence of three senior level capstone courses. This course focuses on detailed design, test plan and implementation of the project. The course includes lectures, reading assignments and guest speakers on development process, test plan, ethics, legal issues, and emerging trends in computer science. Prerequisites: CS 481 and admission to BS CS program, or instructor's permission.

CS 483 Senior Capstone III • 3 Cr.

This course is the third in a sequence of three senior level capstone courses. This course focuses on implementation, test and presentation of the project. The course includes lectures, reading assignments and guest speakers on poster design, innovation and entrepreneurship, presentation skills and emerging trends in computer science. Prerequisites: CS 482 and admission to BS CS program, or instructor's permission.

CS 485 Computer Science Co-Op/Practicum • V1-5 Cr.

Students undertake a full-time or part-time supervised work experience with an agency, firm, or organization approved by the program. Students develop a learning plan before the work project begins and submit a final written report. A written performance review by an onsite technical supervisor will be part of a student's final assessment. Prerequisite: CS 300 and admission to BS CS program, or instructor's permission.

 

 

Last Updated July 26, 2017