Computer Science (CS)
Courses
CS-101 COMPUTER SCIENCE SEMINAR 1 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 3 Credits
This course is an introduction to the basic concepts of Computer Science. You will learn how to program a computer using an object-oriented programing language 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 for non-Computer Science majors. Equated to CITPT-108.
CS-111 FOUNDATIONS OF PROGRAMMING 4 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: CS-108 or MATH-170, all with a grade of C or better.
CS-190 DIRECTED STUDY IN COMPUTER SCIENCE 1-12 Credits
CS-192 SPECIAL TOPICS IN COMPUTER SCIENCE 1-4 Credits
CS-211 COMPUTER SCIENCE II 4 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. Pre-requisites: CS-111 with a grade of C or better.
CS-226 SQL: STRUCTURED QUERY LANGUAGE 3 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: Completion of MATH-023 or MATH-025 or higher, excluding MTHPT-103P, MATH-153P and MATH-157P, or have satisfactory math placement scores.
CS-250 COMPUTER ORGANIZATION AND ARCHITECTURE 4 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: CS 211 with a grade of C- or better.
CS-253 INTRO TO SYSTEMS PROGRAMMING 4 Credits
Detailed overview of software development on unix-like operating systems with an emphasis on systems programming using C, C++, or an equivalent systems programming language. This includes an introduction to command-line usage and scripting using a common shell. Students will learn about mechanisms available on POSIX-compliant platforms such as signals, pipes, and le descriptors. Pre-requisite: CS-211 with a grade of C or better.
CS-290 DIRECTED STUDY IN COMPUTER SCIENCE 1-6 Credits
CS-291 WORKSHOP IN COMPUTER SCIENCE 1-6 Credits
CS-292 SPECIAL TOPICS IN COMPUTER SCIENCE 1-3 Credits
CS-294 INTERNSHIP IN COMPUTER SCIENCE 1-12 Credits
CS-295 PRACTICUM IN COMPUTER SCIENCE 1-6 Credits
CS-311 ALGORITHMS AND DATA STRUCTURES 4 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: CS-211 with a grade of C or better.
CS-360 SOFTWARE ENGINEERING 3 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-311.
CS-390 DIRECTED STUDY IN COMPUTER SCIENCE 1-6 Credits
CS-391 WORKSHOP IN COMPUTER SCIENCE 1-6 Credits
CS-392 SPECIAL TOPICS IN COMPUTER SCIENCE 1-4 Credits
CS-394 INTERNSHIP IN COMPUTER SCIENCE 1-12 Credits
CS-395 PRACTICUM IN COMPUTER SCIENCE 1-6 Credits
CS-399 RESEARCH ASSISTANTSHIP 1-12 Credits
CS-401 FUTURE PROFESSIONALS SEMINAR 1 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-405 OBJECT-ORIENTED DESIGN FOR SECONDARY EDUCATION 4 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. Additional information focuses on adapting content to high school courses. Registration will be restricted to students admitted to the Secondary Education Program and/or students who are Secondary Education Certified. Pre-requisite: CS-411 with a grade of C or better.
CS-408 INTRODUCTION TO COMPUTER SCIENCE FOR SECONDARY EDUCATION 4 Credits
This course is an introduction to the basic concepts of Computer Science. You will learn how to program a computer using an object-oriented 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. Additional information focuses on adapting content to high school courses. Registration will be restricted to students admitted to the Secondary Education Program and/or students who are Secondary Education Certified.
CS-410 AUTOMATA:THEORY OF COMPUTATION 4 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-411 FOUNDATIONS OF PROGRAMMING FOR SECONDARY EDUCATION 4 Credits
An introduction to computer programming using a modern programming language. The course focuses on problem solving techniques and the basic concepts of procedural programming, by using the Python programming language. Additional information focuses on adapting content to high school courses.Registration will be restricted to students admitted to the Secondary Education Program and/or students who are Secondary Education Certified. Pre-requisite: CS-408 with a grade of C or better.
CS-413 ALGORITHMS & DATA STRUCTURES FOR SECONDARY EDUCATION 4 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. Additional information focuses on adapting content to high school courses. Registration will be restricted to students admitted to the Secondary Education Program and/or students who are Secondary Education Certified. Pre-requisite: CS-405 with a grade of C or better.
CS-420 ANALYSIS OF ALGORITHMS 4 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 3 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 CS-253.
CS-435 COMPUTER NETWORKS 3 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 CS-311.
CS-440 INTELLIGENT SYSTEMS:AI AND INFORMATION 4 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 3 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 CS-311.
CS-450 USABILITY:HUMAN-CENTERED DES/EVALUATION 4 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 3 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-311.
CS-480 CAPSTONE DESIGN PROJECT 4 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-6 Credits
CS-491 WORKSHOP IN COMPUTER SCIENCE 1-6 Credits
CS-492 SPECIAL TOPICS IN COMPUTER SCIENCE 1-4 Credits
CS-494 INTERNSHIP IN COMPUTER SCIENCE 1-12 Credits
CS-495 PRACTICUM IN COMPUTER SCIENCE 1-6 Credits
CS-499 RESEARCH PROJECT AND SEMINAR IN COMPUTER SCIENCE 1-12 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.