LP - Computer Science (Accelerated)

LP-200 Introduction to Computer Science

This course explores the field of computer science.  It provides an overview of computer architecture, networking, data organization, information security, and computational theory.  Students will be introduced to fundamental concepts underlying all of computing, such as algorithms, abstractions, and how computers represent numbers, text, images, and sound.  Students will learn the basics of programming and computational problem solving.

3

Prerequisites

LD-115 or equivalent.

LP-210 Programming Fundamentals

A study of computer organization, data types, expressions, logical structures, subprograms (subroutines and functions), recursion, structured data types (arrays and records), dynamically allocated data, array-based lists, linked lists, stacks, queues, graphs, trees, sorting, and searching.

3

Prerequisites

LP-200.

LP-220 Introduction to Unix

Students are introduced to the Unix operating system, including installation, configuration, administration, and on-line documentation. Networking with TCP/IP is presented, together with an introduction to apache (http server) and samba (file and printer server). Security controls in Unix and operating system virtualization are also discussed.
3

Prerequisites

Prior or concurrent enrollment in LP-200.

LP-230 Visual Basic

This course introduces computer programming using the Visual BASIC programming language with object-oriented programming designs and principles. The Microsoft .NET framework is used to develop applications. Emphasis is placed on event-driven programming methods, including creating and manipulating objects, classes, and using object-oriented tools such as the class debugger. An introduction to databases and ASP .NET applications is also discussed.
3

Prerequisites

LP-200.

LP-245 Object-Oriented Programming

Students will learn to design and develop software using the object-oriented approach.  Topics include encapsulation, inheritance, polymorphism, abstraction, and patterns.  Students will learn how to use an SDK to develop desktop and web applications that provide data processing and visualization services.  Students will also learn how to manage threads and networking connections in software they write.

3

Prerequisites

LP-210.

LP-247 Web and Distributed Programming

Languages and technologies for programming and leveraging web-based computer services securely. Languages include PHP, Perl, JavaScript, Java, Ruby, CSS, and HTML5. Technologies include relational databases, web services, Hadoop, and cloud computing platforms. This course teaches students how to develop useful applications using a variety of distributed data and programming models.
3

Prerequisites

LP-200.

LP-300 Computer Organization

This study of computer organization covers the central processor unit, memory unit and I/O unit, number systems, character codes and I/O programming.  Programming assignments provide practice working with assembly language techniques, including looping, addressing modes, arrays, subroutines, and macros.  Microsoft assembler is discussed and use for programming throughout the course.

3

Prerequisites

LP-210.

LP-330 Database System

File storage structures, relational database management systems, entity relationship diagrams, relational algebra, relational calculus, SQL, database security, concurrency control, distributed and cloud storage solutions, coding database-supported web sites using PHP and XML.
3

Prerequisites

Prior or concurrent enrollment in LP-200.

LP-340 Algorithms and Data Structures

This course is the study of design and analysis of computer algorithms including the data structures used in these algorithms.  Topics include design techniques, such as divide-and-conquer, dynamic programming, the greedy method and backtracking, sorting, searching, graph computations, pattern matching and NP-complete problems.

3

Prerequisites

LD-310, LP-210.

LP-350 Operating Systems

A survey of concepts, facilities, and characteristics of contemporary computer operating systems that includes topics such as memory management, concurrent process control, multi-threading, security, virtualization, and parallelization.

3

Prerequisites

LP-210.

LP-410 Managing Quality Service

This course is an advanced course in the study of quality and its relationship to customer service; the measurement of customer expectations, providing quality customer service, and researching and measuring customer satisfaction in an effort to improve management and organizational quality are studied. The concept of service and the linkages to the functional areas of marketing, operations, and human resources of an organization will be discussed as applied to a variety of settings. The development of a plan for improving the quality of customer service in an organization will be the culminating project for the course.

3

Prerequisites

All hospitality prerequisite courses; LB-355.

LP-415 Strategic Planning for the Hospitality Industry

Students will learn how to develop the capacity to think strategically about an organization, its position in the hospitality industry and among competitors, and how to gain a sustainable competitive advantage. By utilizing the case analysis method, methods for strategic decision-making and action alternatives will be explored; also included is the development of comprehensive business strategies by identifying strategic options, policies, procedures, budgets and timelines. An understanding of the global marketplace and its impact on strategic analysis and planning in the hospitality industry are covered in this course. This course serves as the capstone learning experience for the degree program.

3

Prerequisites

Capstone course to be completed as the student's final foundation and major course.

LP-417 Mobile Application Development

Programming for mobile devices requires knowledge of in a wide range of computer science topics including human-computer interaction, memory management, processing power, and communications technologies. This course explores video game development focusing on issues specific to mobile devices. Topics that will be addressed include user interfacing, hardware devices, telephony, GPS systems, notifications, and application frameworks for mobile devices. Students will develop using both simulators and actual mobile devices. Work will be done individually and in teams.
3

Prerequisites

LP-245.

LP-420 Computer Security

Fundamentals of computer and network security and information assurance. Topics include access control, authentication, trusted computing, software security and vulnerabilities, operating system security models, how various kinds of malware function, network security devices and architecture, computer hacking techniques and countermeasures, intrusion detection, cryptography, wireless security, and network security protocols.
3

Prerequisites

LP-200.

17-425 Encryption

This is a one-semester course focusing on cryptography and network security. Three areas of emphasis include: symmetric key encryption, public key encryption, and network security practices. The mathematical concepts underlying encryption algorithms will also be presented.
3

Prerequisites

LP-200.

LP-440 Software Engineering

Methods, strategies, and tools for implementing software systems, particularly as part of a development team. Topics include the software development life cycle, Unified Modeling Language, software testing techniques, software security, open-source development, requirements gathering and documentation, maintenance, and basic software project management.

3

Prerequisites

LP-245.

LP-460 Programming Languages

This course provides a study of the structures of selected programming languages related to ALGOL 60 and LISP.  Emphasis is placed on semantics rather than syntax of the programming languages.  Backus-Naur Form, recursion, parameter transmitting techniques, and an introduction to formal language theory is covered.  Functional programming is discussed.  A term project is required.

3

Prerequisites

LP-300 or LP-350.

LP-480 Communications and Networking

This course covers various topics, with areas of concentration on communications devices, protocols, standards, networking topologies, hardware, software, design, installation and setup, maintenance and security.  The advantages, disadvantages and implementation issues of Microsoft Windows and Unix are explored.

3

Prerequisites

LP-210 or LP-220.

LP-485 Advanced Communications and Networking

This course is a continuation of Communications and Networking.  It concentrates on implementing and administrating a diverse network of computers and other devices, including routers, switches, firewalls, network storage devices, printers, wireless devices, and a variety of services.  This hands-on course also gives students experience hacking and protecting such devices.

3

Prerequisites

LP-480.

LP-492 Software Systems Capstone Project

In this course students will participate, as part of a team, in the design, implementation and testing of a medium-to-large software project. Additionally, this course will cover topics in professional ethics, intellectual properties, privacy, and professional communication.
3

Prerequisites

LP-440.

LP-493 Computer Infrastructure Capstone Project

In this course students will participate, as part of a team, in the design, implementation and testing of a medium-to-large networked computer system. Additionally, this course will cover topics in professional ethics, intellectual properties, privacy and professional communication.
3

Prerequisites

LP-485.