Computer Science (CS)
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 108; 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 228 AND a 'C' or better in MATH 147A 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 226 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.