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. Cross-listed with CITPT-108.

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: CS-108 or MATH-170, all with a grade of C or better.

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-211 COMPUTER SCIENCE II 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. Pre-requisites: CS-111 with a grade of C or better.

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: 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.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: CS 211 with a grade of C- or better.

CS-253 INTRO TO SYSTEMS PROGRAMMING 4.00 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.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-311 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: CS-211 with a grade of C or better.

CS-360 SOFTWARE ENGINEERING 3.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-311.

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-399 RESEARCH ASSISTANTSHIP 1.00-12.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-405 OBJECT-ORIENTED DESIGN FOR SECONDARY EDUCATION 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. 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.00 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.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-411 FOUNDATIONS OF PROGRAMMING FOR SECONDARY EDUCATION 4.00 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.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. 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.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 3.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 CS-253.

CS-435 COMPUTER NETWORKS 3.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 CS-311.

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 3.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 CS-311.

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 3.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-311.

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-12.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.