Computer Science (CS)

Courses

CS-101 COMPUTER SCIENCE SEMINAR 1.00 Credit

Introduces the computing and information technology profession and the LCSC's curriculum emphasis options. Topics include: fields of study, curriculum and professional options, legal and ethical issues for computing professionals, academic responsibilities and ethical conduct. Emphasis on the computing science fields of study and their uses in today's digital society.

CS-108 INTRODUCTION TO COMPUTER SCIENCE 4.00 Credits

This course is an introduction to the basic concepts of Computer Science. You will learn how to program a computer using the Java language, the basic capabilities of a computer system, how to form and validate a hypothesis in computer science, and how computer science relates to other scientific endeavors and society at large. Programming concepts include objects, functions, conditionals, and recursion. This course is suitable both for the non-major and as an entry point into the Computer Science major.

CS-110 INTRODUCTION TO INTERACTIVE DESIGN 4.00 Credits

Introduces the basic concepts of algorithm design and implementation. Topics include variables, functions, methods, parameters, control structures, and events. Emphasis is placed on logic and control structures.

CS-111 FOUNDATIONS OF PROGRAMMING 4.00 Credits

Introduction to problem solving and the basic building blocks of algorithm design using a modern programming language. Topics include: procedural programming constructs and basic program modularization. Pre-requisite: Grade of 'C' or better in MATH 108 or equivalent placement score, AND a 'C' or better in CS 110; OR a grade of 'C' or better in MATH 170.

CS-190 DIRECTED STUDY IN COMPUTER SCIENCE 1.00-12.00 Credits

CS-192 SPECIAL TOPICS IN COMPUTER SCIENCE 1.00-4.00 Credits

CS-213 ALGORITHMS AND DATA STRUCTURES 4.00 Credits

Covers the fundamentals of data structures, abstract data types and associated algorithms. Topics include: abstract data types, recursion, trees, graphs, hashing, and searching and sorting. Pre-requisite: A grade of 'C' or better in CS 111 and MATH 186. Co-requisite: Math 186.

CS-226 SQL: STRUCTURED QUERY LANGUAGE 3.00 Credits

Introduces the basic concepts of relational database systems and the role of the Structured Query Language (SQL) in database development. It also covers SQL and its applications to the creation and maintenance of data in a Database Management System (DBMS). Emphasis is placed on using SQL for database querying. Pre-requisite: A 'C' or better in MATH 025 or equivalent placement score.

CS-228 LINUX AND TOOLS 3.00 Credits

An introduction to Linux-based operating systems, system applications, and shell programming. Emphasis on the productive use of system tools with a hands-on approach. Pre-requisites: A 'C' or better in MATH 025 or equivalent placement score and CS 111 as a pre-requisite or co-requisite.

CS-250 COMPUTER ORGANIZATION AND ARCHITECTURE 4.00 Credits

Introduces the architecture and organization of modern computer systems. Topics include: digital logic, number systems, Von Neumann architecture, processing and instruction sets, memory and memory addressing, parallel systems, and parallel architectures. Emphasis on the connections between the computer's hardware and its software. Pre-requisite: A grade of 'C' or better in MATH 108.

CS-290 DIRECTED STUDY IN COMPUTER SCIENCE 1.00-6.00 Credits

CS-291 WORKSHOP IN COMPUTER SCIENCE 1.00-6.00 Credits

CS-292 SPECIAL TOPICS IN COMPUTER SCIENCE 1.00-3.00 Credits

CS-294 INTERNSHIP IN COMPUTER SCIENCE 1.00-12.00 Credits

CS-295 PRACTICUM IN COMPUTER SCIENCE 1.00-6.00 Credits

CS-312 OBJECT-ORIENTED DESIGN AND IMPLEMENTATION 4.00 Credits

Covers object-oriented (OO) design and implementation techniques. Topics include: the Unified Modeling Language (UML), data types and classes, collaboration, association, aggregation, inheritance, polymorphism, parametric programming, and software libraries. Emphasis on design and implementation of object-oriented software systems through the adequate design and implementation of domain specific data types that collaborate to implement the requested functionality. The Linux system and compiler suite is used. Pre-requisites: A 'C' or better in CS 227 AND a 'C' or better in MATH 143 or a 'C' or better in MATH 147 or equivalent placement score.

CS-360 SOFTWARE ENGINEERING 4.00 Credits

Introduces the engineering principles for the design and development of high quality computing systems. Topics include: the software life cycle model, requirements definition, design, verification and validation, software and system modeling and documentation, and project management techniques. Pre-requisite: A grade of 'C' or better in CS 213 and CS 312 as a co-requisite.

CS-390 DIRECTED STUDY IN COMPUTER SCIENCE 1.00-6.00 Credits

CS-391 WORKSHOP IN COMPUTER SCIENCE 1.00-6.00 Credits

CS-392 SPECIAL TOPICS IN COMPUTER SCIENCE 1.00-4.00 Credits

CS-394 INTERNSHIP IN COMPUTER SCIENCE 1.00-12.00 Credits

CS-395 PRACTICUM IN COMPUTER SCIENCE 1.00-6.00 Credits

CS-401 FUTURE PROFESSIONALS SEMINAR 1.00 Credit

Students develop either a job application packet or a graduate school application packet. This includes the development and presentation of a portfolio and resume or curriculum vita. Pre-requisite: A grade of 'C' or better in MATH 147 (or equivalent placement score) and CS 312 which can be taken as a co-requisite.

CS-410 AUTOMATA:THEORY OF COMPUTATION 4.00 Credits

Provides an introduction to the theoretical foundations of computing. Topics include: automata and languages (finite automata, regular languages, and context-free languages), computability theory (the Church-Turing thesis and decidability), and complexity theory (time and space complexity). Emphasis on the use of rigorous mathematical approaches to problem definition and description of solutions. Pre-requisite: A grade of 'C' or better in MATH 147 (or equivalent placement score) AND CS 312 which can be taken as a co-requisite.

CS-420 ANALYSIS OF ALGORITHMS 4.00 Credits

Covers fundamental formal techniques and algorithmic strategies that support advanced algorithm design. Topics include: asymptotic complexity bounds, time analysis of iterative and recursive algorithms, advanced data structures such as balanced and red-black trees and hashing, and advanced algorithmic strategies such as dynamic programming. Emphasis on the underlying mathematical theory, practical considerations of efficiency, and algorithm design trade-offs. Pre-requisites: A grade of 'C' or better in MATH 147 or equivalent placement score AND CS 312 which can be taken as a co-requisite.

CS-430 OPERATING SYSTEMS 4.00 Credits

Covers operating system's fundamental concepts and structure. Topics include: operating systems architecture, processes and threads, mutual exclusion and synchronization, deadlock and starvation, memory management and virtual memory, and processor scheduling. Emphasis on operating system design issues, techniques, and trade-offs; includes a hands-on introduction to multithreaded and multicore programming issues and approaches. Pre-requisites: A grade of 'C' or better in MATH 147 or equivalent placement scores and CS 312 as a pre-requisite or co-requisite.

CS-435 COMPUTER NETWORKS 4.00 Credits

Covers current computer network architectures, protocols, and applications. Topics include: digital networks and the Internet, network architecture, network layers, services and communication protocols, the application layer, the transport layer, the network layer, the data link layer, wireless and mobile networks, and ethical issues with digital networks. Emphasis on Internet and current communication protocols, and the engineering trade-offs of network design and implementation. Includes hands-on sockets programming coursework. Pre-requisites: A grade of 'C' or better in MATH 147 (or equivalent placement score) AND CS 312 which can be taken as a co-requisite.

CS-440 INTELLIGENT SYSTEMS:AI AND INFORMATION 4.00 Credits

Introduces students to the fundamental concepts and techniques of artificial intelligence (AI) and information management. Pre-requisite: A grade of 'C' or better in MATH 147 (or equivalent placement score) and CS 312 which can be taken as a co-requisite.

CS-445 DATABASES AND KNOWLEDGE MANAGEMENT 4.00 Credits

Covers the fundamental concepts required for the design and implementation of database applications and their underlying Database management Systems (DBMS). Topics include: principles and architectures, the relational data model, normalization, conceptual data modeling, design and implementation of database-based applications, and DBMS design issues and approaches. Pre-requisites: A grade of 'C' or better in CS 225 and a grade of 'C' or better in MATH 147 (or equivalent placement score).

CS-450 USABILITY:HUMAN-CENTERED DES/EVALUATION 4.00 Credits

An introduction to key methods in user-interface design and emphasis on usability design and evaluation. Topics include the user interface analysis, usability enhancement methods, and usability testing. Pre-requisite: A grade of 'C' or better in MATH 147 (or equivalent placement score) AND CS 312 which can be taken as a co-requisite.

CS-475 COMPUTER SYSTEMS SECURITY 4.00 Credits

Covers the fundamental concepts and practical applications of computing systems security with a holistic view and applied approach. Topics include: security concepts and services, physical, operational, and organizational security, the role of people in systems security, introduction to cryptography and public key infrastructure, computing systems hardening, secure code, and secure applications development. Emphasis on developing, deploying, and maintaining a secure computing infrastructure with a hands-on approach. Pre-requisite: CS 435.

CS-480 CAPSTONE DESIGN PROJECT 4.00 Credits

The application of engineering principles needed for the development and maintenance of high quality medium to large software systems, delivered on time and within budget. Emphasis on the development of a semester long project and final presentation. Pre-requisite: CS 445.

CS-490 DIRECTED STUDY IN COMPUTER SCIENCE 1.00-6.00 Credits

CS-491 WORKSHOP IN COMPUTER SCIENCE 1.00-6.00 Credits

CS-492 SPECIAL TOPICS IN COMPUTER SCIENCE 1.00-4.00 Credits

CS-494 INTERNSHIP IN COMPUTER SCIENCE 1.00-12.00 Credits

CS-495 PRACTICUM IN COMPUTER SCIENCE 1.00-6.00 Credits

CS-499 RESEARCH PROJECT AND SEMINAR IN COMPUTER SCIENCE 1.00-3.00 Credits

Students will perform a research project in Computer Science. Includes a satisfactory final oral presentation of findings and results as well as an advisor approved final written report. Proposal and interim oral and written reports may also be required.