| ACADEMICS | Schools & Departments | Computer Science | Computer Science Courses
CS 101 Basics of Computer ScienceLASC—Quantitative ReasoningPrerequisite: Familiarity with basic computer operations, Math placement code of 3 or aboveA survey course that provides a foundation in the field of Computer Science by presenting a practical and realistic understanding of the field.Offered every year. 3 credits.CS 120 Microcomputer ApplicationsLASC—Quantitative ReasoningPrerequisite: Familiarity with basic computer operations, Math placement code of 3 or aboveLearning state-of-the-art application packages including but not limited to spreadsheets and database software.Offered every year. 3 credits. (Credit will not be awarded for both CS 120 and CS 124.)CS 124 Health InformaticsLASC – Quantitative ReasoningPrerequisite: Familiarity with basic computer operations, Math placement code of 3 or aboveUse of computers and information systems in health care. Databases and spreadsheets. Electronic health records.Privacy and policy issues.Offered every year. 3 credits (Credit will not be awarded for both CS 120 and CS 124)CS 135 Programming for Non-CS MajorsLASC – Quantitative ReasoningPrerequisite: Familiarity with basic computer operations, Math placement code of 3 or aboveIntroduction to programming. Emphasis on practical skills, working with data sets, doing analysis and visualization.No prior programming experience required.Offered every year. 3 credits.CS 140 Introduction to ProgrammingPrerequisite: CS 101Introduction to fundamental structures and concepts of Computer Science including object-oriented programming; three lectures and one two-hour laboratory.Offered every year. 4 credits.CS 155 Computer Networking, Security and DatabasesLASC – Quantitative ReasoningPrerequisite: CS 101This course covers network protocols and the Internet; computer security fundamentals; basics of relational databases and SQL queries.Offered every year. 3 credits.CS 161 Basics of Web DesignIntroduces concepts needed for creation, design and implementation of effective web pages. Latest versions of mark-up language(s) will be used.Offered every year. 3 credits.CS 193 Special Topics in Computer Science for First-Year StudentsAll "193" courses are approved for LASC but may vary by section. See current course listing for specific LASC area approval.Introductory level course covering topics of special interest to first-year students.Offered only as a First-Year Seminar. 3 credits.CS 242 Data StructuresPrerequisite: CS 140. Prerequisite or corequisite: MA 220Introduces time complexity and covers fundamental data structures: lists, stacks, queues, search trees, dictionaries, priority queues, B-trees and inverted files.Offered every year. 4 credits.CS 253 Digital Computer Organization and Assembly LanguagePrerequisites: CS 140, EN 252, MA 220Design and analysis of combinational and sequential circuits; assembly language programming, digital computer organization. Three lectures and one two hour laboratory.Offered every year. 4 credits.CS 254 Computer Organization and ArchitecturePrerequisites: CS 140, EN 102. Prerequisite or corequisite: MA 290Combinational and sequential circuits, assembly language programming, digital computer architecture, instruction sets, addressing modes, memory hierarchies, I/O, and control circuits. Three lecture hours and two laboratory hours per week.Offered every year. 4 credits.CS 261 Advanced Web Design Using Scripting LanguagesPrerequisite: CS 161This course covers scripting languages and teaches how to make the web pages interactive by embedding executable scripts into them.Offered every 2 years. 3 credits.CS 265 Database ApplicationsLASC – Quantitative ReasoningPrerequisite: Familiarity with basic computer operations, Math placement code of 3 or aboveThis course introduces basic database concepts and teaches how to create a database; use SQL; and create database applications.Offered every 2 years. 3 credits.CS 282 UNIX Systems ProgrammingPrerequisite: CS 242Problem solving and software design using C; introduction to UNIX programming utilities and text manipulation; low-level system programming in UNIX and C.Offered every year. 3 credits.CS 297 Selected Topics in Computer ScienceTopics of mutual interest to students and faculty.1-4 credits. CS 335 Networking and Web SecurityPrerequisite: CS 282This course covers web and security problems, solutions, and techniques. Encryption, worms, viruses, firewall, safer practices, etc. are covered.Offered every 2 years. 3 credits.CS 343 Software Construction, Design and ArchitecturePrerequisites: CS 242, EN 252Software construction techniques and tools, software architectures and frameworks, design patterns, object-oriented design and programming. Efficiency, reliability and maintainability of software.Offered every year. 3 credits.CS 345 Object Oriented Programming with C++Prerequisite: CS 282Introduction to the fundamentals of C++; Topics include objects/classes, single/multiple inheritance, friend functions, operator overloading, polymorphism and streams.Offered every 2 years. 3 credits.CS 348 Software Process ManagementPrerequisites: CS 343, CM 110, UR 230Project management including planning, progress measurement, estimation, and risk assessment. Functional and non-functional requirements. Software licenses, contracts and intellectual property.Offered every year. 3 credits.CS 352 Digital Computer ArchitecturePrerequisite: CS 253A study of the internal structure of a typical digital computer from both a logical and a hardware viewpoint; memory devices, arithmetic, and control circuits including LSI and MSI components.Offered every year. 3 credits.CS 353 Information Organization, Management and RetrievalPrerequisites: CS 155, CS 242. Prerequisite or corequisite: CS 373The course introduces fundamental concepts, standards, technologies and methods for information organization, storage, management, retrieval and recovery.Offered every year. 3 credits.CS 365 Client Server Computing Using the InternetPrerequisite: CS 242This course covers what client/server is and covers various client/server models and explores the Internet from a client/server perspective.Offered every 2 years. 3 credits.CS 371 Computability TheoryPrerequisites: CS 140, MA 290This course provides an introduction to theoretical computer science. Covers the fundamentals of automata theory, formal languages, and computability theory.Offered every 2 years. 3 credits.CS 373 Operating SystemsPrerequisites: CS 254, CS 282, EN 252Hardware and software as an integrated system; development of system software for process management, resource allocation, memory management and I/O processing.Offered every year. 3 credits.CS 375 Software Analysis and DesignPrerequisites: CS 242, CM 110, EN 252This course introduces object-oriented software development concepts as a new way of thinking about problems using models organized around real-world concepts.Offered every year. 3 credits.CS 380 System ProgrammingPrerequisite: CS 282The design and implementation of assemblers, linkers, loaders, editors, and high-level translation software. Algorithms solving specific problems of a system program are investigated.Offered every 2 years. 3 credits.CS 383 Cloud, Parallel and Distributed ComputingPrerequisite: CS 373The course introduces basics of Cloud Computing and fundamental computing technologies used for Big Data platforms such as Parallel, Distributive and Cluster computing models.Offered every year. 3 credits.CS 400 Database DesignPrerequisites: CS 242, EN 252, CM 110Introduces database models with emphasis on relational model; ER diagrams, relational calculus, relational algebra and SQL, normalization, transaction processing and recovery.Offered every 2 years. 3 credits.CS 401 Software Development ProcessPrerequisite: CS 375This course deals with software as an engineered product that requires planning, analysis, design, implementation, testing and maintenance.Offered every year. 3 credits.CS 405 Data Communications and NetworkingPrerequisites: CS 373, EN 252, CM 110Data transmission, encoding, interfacing, synchronization, data-link control, multiplexing, networking, circuit switching, packet switching, radio and satellite, local area networks, network access protocols.Offered every 2 years. 3 credits.CS 442 Algorithm AnalysisPrerequisites: CS 282, MA 200Various complexity classes; algorithmic strategies, graph algorithms, pattern matching, cryptographic and geographic algorithms; NP-complete problems.Offered every 2 years. 3 credits.CS 443 Software Quality Assurance and TestingPrerequisites: CS 343, MA 150Requirements analysis and test plan design. Testing strategies and techniques. Test coverage using statistical techniques. Code reviews and inspections.Offered every year. 3 credits.CS 448 Software Development CapstoneMajor CapstonePrerequisites: CS 348, CS 373, CS 443Development of a significant software system, following appropriate project and team management techniques.Requirements, design, implementation, quality assurance, professional, social and ethical issues.Offered every year. 3 credits.CS 453 Data MiningPrerequisites: CS 242, CM 110, MA 150, UR 230Topics include data warehousing and mediation techniques; data mining methods: rule-based learning, decision trees, association rules and sequence mining.Offered every year. 3 credits.CS 471 Artificial IntelligencePrerequisites: CS 371,CS 242, EN 252Introduction to central issues of constructing intelligence systems. Examines historical and future trends of AI research.Offered every 2 years. 3 credits.CS 472 RoboticsPrerequisites: CS 253, CS 282Design and implementation of robotic systems, sensors and sensing, effectors, mechanics, control strategies and architectures, hardware and software issues.Offered every 2 years. 3 credits.CS 483 Big Data Analytics CapstoneMajor CapstonePrerequisites: CS 353, CS 383, CS 453The course introduces methods and techniques used for Big Data analysis. The course discusses Analytics tools for a variety of data applications and includes a major team project.Offered every year. 3 credits.CS 497 Selected Topics in Computer SciencePrerequisite: CS 282Selection of topics of mutual interest to students and faculty.1-6 credits.CS 498 InternshipPrerequisites: Approval by vote of Computer Science faculty; 21 credit hours in Computer Science courses includingCS 282.Working in and for an organization where skills can be tested in real situations in order to gain experience, increase knowledge in various functional areas, and establish important contacts with an organization.Offered every year. 3 credits.CS 499 Independent StudyPrerequisites: 18 credit hours in Computer Science including CS 282 and approval by vote of Computer Sciencefaculty.An opportunity for advanced students to examine topics not normally taught in other computer science courses.Geared to interests of both the student and the instructor.Offered every year. 1-6 credits.