Course Descriptions

Computer Science

Computer Science (CS)

1041       Computer Applications - Math/Science (1) F, SP
Use of computer software for mathematical and scientific applications. Problem solving with application software including graphical representation of solutions and data, equation editing, symbolic mathematics, statistical software, scientific internet resources, images and animation. Prerequisite: satisfaction of information technology proficiency requirement. Laboratory, 2 hours.

1122       Introduction to Computer Science (2) F, SP
Survey of topics in computer science.Appreciating computer science as a discipline, with light introductions to object-oriented paradigm.  Topics include introduction to and appreciation of problem solving, programming languages and their translators, software engineering, computer architecture, operating systems, networks, algorithms, social and ethical issues, and artificial intelligence.  Prerequisite: 26 ACT (or 590 SAT) math score, or placement into MATH 1314.

1213       Introduction to Computer Programming (3) F, SP
Problem analysis and the development of algorithms and computer programs in a modern high-level language.Introduces the use of a high-level object-oriented programming language as a problem-solving tool, including basic data structures and algorithms, object-oriented programming techniques, and software documentation.  Prerequisite: CS 1122 or IT 1123 or co-requisite.

1233       Object-Oriented System Design and Programming (3) SP
Introduces more advanced elements of object-oriented programming, including dynamic data structures, recursion, searching and sorting, and advanced object-oriented programming techniques.  Prerequisite: CS 1213 with a grade of “C” or higher.

2233       Data Structures and Algorithms (3) F
Implementation and application of fundamental data structures and computing algorithms used in computer science, including searching and sorting; elementary abstract data types including linked lists, stacks, queues, trees and graphs.   Particular emphasis is given to the use of object-oriented design and data abstraction in the creation and application of these data structures.   Some elementary algorithm analysis is also covered.  Prerequisite: CS 1233 and MATH 2103, with grades of C or better.

2243       Database Management Systems (3) SP
Introduction to database concepts and the relational database model.  Topics include SQL, normalization, design methodology, DBMS functions, database administration, and other database management approaches, such as client/server databases, object oriented databases, and data warehouses.   Strong emphasis on database system design and application development.  Prerequisite: CS 1233, with a grade of C or better.

2252       Competition Programming (2) SP
Introduction to an interesting variety of subjects in programming, algorithms, and discrete mathematics through puzzles and problems which have appeared in the International ACM Programming Contest and similar venues.Skills required for programming contests, which include evaluation of problem difficulty, solving problems in teams, and working under time pressure.  Implementation of algorithms will be done in an object-oriented programming language such as C++ or Java.  It is expected that the best students from this course will represent LU at the regional ACM Programming Competition, and possibly at the international ACM Competition.  Prerequisite: CS 2233, with a grade of C or better.

2323       Computer Organization (3) SP
Introduction to computer organization with emphasis on the lower level abstraction of a computer system including digital logic, instruction set and assembly language programming. Topics include data representation, logic gates, simplification of logical expressions, design and analysis of simple combinational circuit such as decoders and multiplexers, flip-flops and registers, design and analysis of simple synchronous sequential circuit, random-access and read-only memories, instruction set architecture and programming in assembly language. Prerequisite: CS 1233 and MATH 2103, with grades of C or better.

3223       Principles of Software Engineering (3) SP
Survey of techniques, methods and theories used in the analysis, design, implementation, and testing of software.  Prerequisite: CS 2233 and CS 2243, with grades of C or better.

3233       Introduction to GUI Programming and Graphics (3) F
Design and implementation of object-oriented graphical user interfaces (GUI) and two-dimensional computer graphics systems. Implementation methodologies including callbacks, handlers, event listeners, design patterns, layout managers, and architectural models. Mathematical foundations of computer graphics applied to fundamental algorithms for clipping, scan conversion, affine and convex linear transformations, projections, viewing, structuring, and modeling.  Prerequisite: CS 3213 and MATH 3213, with grades of C or better.

3243       Mobile Device Programming (3) SP
Introduction to programming for the mobile devices (such as Apple iPhone,iPod Touch, iPad, and Android) using Software Development Kits (SDKs).  Mobile application development will focus on object-oriented programming appropriate to the mobile devices.  Insight to current common procedures for getting mobile application work academically published.  Prerequisite: CS 1233, CS 2243 and IT 3313, with grades of C or better.

3253       Game Development I (3) SP
Introduction to the design and implementation of computer games, including real-time graphics, audio and interactive multimedia programming techniques.  Prerequisite: CS 1233, with a grade of C or better.

3263       Game Development II (3) F
Advanced game programming techniques, including 3-D graphics, 3-D audio, game physics and networking for multi-player games. Prerequisite: CS 3253, with a grade of C or better.

3273       Collaborative Serious Games Development (3) SP
Advanced team-based game development on applications of interactive technology for videogame domains such as education, health, training, analytics, visualization, simulation, and therapy.  Prerequisite: CS 3263, with a grade of C or better.

3323       Operating Systems (3) F
Introduction to operating system concepts-including system organization for uniprocessors and multiprocessors, scheduling algorithms, process management, deadlocks, paging and segmentation, files and protection, and process coordination and communication.  Prerequisite: CS 2233 and CS 2313, with grades of C or better.

3333       Mobile and Distributed Computing Systems (3) F
Architectures of mobile and distributed computing systems, mobile and distributed operating systems, middleware, SOA and distributed services, network infrastructure for mobile and distributed computing systems, transaction management in mobile and distributed computing systems.  Prerequisite: CS 2233, CS 2243 and IT 3323, with grades of C or better.

350V      Special Topics in Computer Science (1 – 3) Offered on demand
Selected topics from the field of computer science.  The course may be either lecture or laboratory oriented depending upon the topic selected.  The study represents an in-depth approach to specific areas of interest to the students.  Repeatable for credit with departmental approval.  Prerequisite: consent of instructor.

3623       Design and Analysis of Algorithms (3) F
Study of the techniques for designing algorithms and for analyzing the time and space efficiency of algorithms.  The algorithm design techniques include divide-and-conquer, greedy algorithms, dynamic programming, randomized algorithms and parallel algorithms.  The algorithm analysis includes computational models, best/average/worst case analysis, and computational complexity (including lower bounds and NP-completeness).  Prerequisite: CS 2233 and MATH 2903, with grades of C or better.

3713       Comparative Programming Languages (3) SP
Discussion of the important issues in the specification, design and implementation of programming languages with emphasis on imperative programming.  Emphasis is on evaluating alternative ways of providing various programming language features and trade-offs involved.  Topics include syntactic specification, data types, abstraction mechanisms, sequence control, data control, storage management, functional programming and introduction to program verification.  Several languages are used to illustrate these programming language concepts.  Prerequisite: CS 2233, with a grade of C or better.

395V      Internship in Computer Science (1 – 3) F, SP, SU
Provides the opportunity to gain experience with scientific computing in a work setting.  Credit is awarded according to the scale published by the Career Development Center.  Prerequisite: junior standing and permission of department chair.  Repeatable for up to six hours.

4013       Future Mobile and Social Computing Systems (3) SP
Research and development (R&D) or project-based course to build futuristic proof-of-concept online social and mobile computing system prototypes.  Prerequisite: CS 3243, with a grade of C or better.

4053       Senior Seminar in Computer Science (3) SP
Required of all computer science majors in their senior year.  Assessment of degree to which computer science program outcomes have been achieved; reflection on, and synthesis of, computer science academic experience; preparation for transition to professional employment or graduate school.  Prerequisite: Senior standing in computer science and 30 hours of CS courses.

401V      Independent Study in Computer Science (1 – 3) F, SP, SU
Independent study research in primary or secondary data in a selected topic of computer science; title to be approved by the major professor and academic chair; paper to be kept on file.  Prerequisite: advanced standing, ability and approval of academic chair.  Repeatable for up to six hours.  This course may satisfy the SALT Tier II requirement.

4223       Compiler Construction (3) F
Study of the theory and design techniques used in compiler construction, including lexical analysis, parsing, grammars, semantic analysis, code generation, and optimization.  Each student will implement a subset of a compiler.  Prerequisite: CS 3323, CS 3413, and CS 3423, with grades of C or better.

4413       Fundamentals of Automata and Formal Language Theory (3) F
Introduction to fundamental concepts of automata theory and formal languages including finite automata, regular expressions, formal language theory, and pushdown automata.  Prerequisite: CS 3413, with a grade of C or better.

4423       Computability and Complexity Theory (3) SP
Rigorous introduction to theoretical foundations of computer science, addressing a number of inter-related topics and formally defining a computer, an algorithm, and what is computable.  Close reading of important theorems and proofs.  Significant use of mathematical symbols, abstractions, definitions, theorems, proofs, lemmas, corollaries, logical reasoning, inductive proofs, and the like, are used to introduce how to reason precisely about computation and prove mathematical theorems about its capabilities and limitations, universal models of computation such as Turing machines, undecidability, and computational complexity.  Prerequisite: CS 3213 and CS 4413, with grades of C or better.

4433       Algorithmic Graph Theory (3) F
The elements of the theory of graphs and directed graphs with motivating examples from communication networks, data structures, etc; shortest paths, depth first search, matching algorithms, parallel algorithms, minimum spanning trees, basic complexity theory, planarity, and other topics. Programming assignments are included.  Prerequisite: CS 3213, with a grade of C or better.

4443       Database Theory and Applications (3) SP
Introduction to the theory, methods, and techniques widely used today to design, build, and implement modern database systems. Emphasis is on the relational data model, with topics including relational algebra, SQL, entity-relationship model, normalization, design algorithms, query processing, transaction processing, and object-oriented databases.  Prerequisite: CS 2233, CS 2243 and MATH 2903 (or MATH 2103), with grades of C or better.

4453       Artificial Intelligence (3) SP
An exploration of concepts, approaches and techniques of artificial intelligence: specification, design, and implementation of selected applications of intelligent software agents and multi-agent systems.  Computational models of intelligent behavior, including problem solving, knowledge representation, reasoning, planning, decision making, learning, perception, action, communication and interaction.  Reactive, deliberative, rational, adaptive, learning and communicative agents and multi-agent systems.  Prerequisite: CS 3213, MATH 3123, and MATH 3213, with grades of C or better.

Electives

Note: Concentration courses in CS cognate areas other than student’s concentration area of choice suffice as electives.Approved 3XXX or 4XXX IT courses will also suffice as electives.  Other electives include the following

3252       Programming Challenges (2) F
Development and implementation of advanced algorithms, as well as the skills required for programming competitions. The students will learn to select appropriate algorithms for a given problem, integrate multiple algorithms for solving a complex problem, design new algorithms, and implement them in C++ or Java.  Prerequisite: CS 2252, with a grade of C or better.

3433       Numerical Methods (3) SP Odd years
Finding roots of equations, error analysis, simultaneous linear equations, numerical integration, least squares approximations, and numerical solutions for ordinary differential equations.  Prerequisite: MATH 2314 and CS 2233, with grades of C or better.
 

Information Security

Information Security (SEC)

2313       Fundamentals of Information Security (3) SP
An introduction to security of digital information including: threats; regulations;  risk management; attack detection and response; cryptography, forensics; and  technical training and certifications.  Prerequisite: IT 2223 and CS 1213, with grades of C or better.

3313       Introduction to Policy and Procedures (3) F
Establishing information security policies and procedures for organizations.Identification of relevant contracts, laws, and regulations constraining organizations, and the setting of procedures to be used in day-to-day operations.  Prerequisite: ISEC 2313, with a grade of C or better.

3323       Cryptography (3) F
Security requirements for telecommunication over the Internet and other communication networks, various conventional and public-key encryption protocols, digital encryption standard, RSA and ElGamal cryptographic systems, digital signature algorithm and analysis of its crypto-immunity, and access sharing schemes.  Prerequisite: MATH 2103 and MATH 3123, with grades of C or better.

3333       Introduction to Business Continuity and Recovery Planning (3) SP
Maintenance of information and the processes of how to continue in business in the face of data loss, and planning for the recovery in the event of such loss.  Prerequisite: ISEC 3313, with a grade of C or better.

4313       Database Security (3) F
Security challenges and threats in database systems and state-of-the art security technologies, including multilevel security, covert channels, and security measures for relational and object-oriented database systems. In addition to the security issues, the course addresses issues related to distributed databases and current technologies, such as service oriented architecture, cloud computing, etc.  Prerequisite: CS 2243, CS 3323 and ISEC 2313, with grades of C or better.

4323       Network Security (3) SP
Advanced knowledge of network security. Topics include design and implementation of some important public key systems: RSA and Elliptic Curve algorithms; concepts of quantum cryptography; quantum computing and cryptography; wireless computing and cryptography; design, implementation and configuration of firewalls in depth; design, implementation and configuration of intrusion detection systems; prevention systems; advanced network security architectures; advanced wireless security: principle and practice; security in trusted-based computing environments; and quantum cryptography.  Prerequisite: IT 3323 and ISEC 3323, with grades of C or better.

395V      Internship in Information Security (1 – 3) F, SP, SU
Provides the opportunity to gain experience with information security in a work setting.  Credit is awarded according to the scale published by the Career Development Center.  Prerequisite: junior standing and permission of department chair.  Repeatable for up to six hours.

4053       Senior Seminar in Information Security (3) SP
Required of all information security majors in their senior year.  Assessment of degree to which information security program outcomes have been achieved; reflection on, and synthesis of, information security academic experience; preparation for transition to professional employment or graduate school.  Prerequisite: Senior standing in information security and 15 hours of ISEC courses.

4193       Ten Day Travel Course in Informational Security (3) Optional
The travel course is designed to give students insight into various organizations’ operations and how they handle the several aspects of information security.  Students will observe the security of the physical plant, how Human Resources protects data by making informed hiring decisions, how data is secured as well as networks and communications.  NOTE: This course is offered during Wintermester and is offered on demand at additional cost.  Prerequisite: Senior standing in information security and 15 hours of ISEC courses.  Travel, 3 hours.

Information Technology

Information Technology (IT)

1000       Basic Computer Literacy (0) F, SP, SU
Introduction to computers and the use of computer applications, including the campus network applications, word processing, spreadsheets, presentations and internet access. Upon completion, students will be prepared to use computing resources in the university setting. Open only to students who have not satisfied the information technology proficiency requirement by examination. Lecture/laboratory, 2 hours.

1403       Future of Computing (3) F, SP
Cutting-edge, and trends in, computing. Introduction to programming using a scripting language. Societal and ethical use of computers. Prerequisite: ITP or IT 1000 or co-requisite.
Lecture, 3 hours. Computer upgrade fee: $90.

1213       Graphic Design Studio (3) F
Basics of graphic design using the Adobe Creative Suite of applications. Integration of design fundamentals with core Adobe Creative suite methodologies: Photoshop, Illustrator, InDesign, Dreamweaver and Flash.

2043       Information System Applications (3) F, SP, SU
Emphasis on using the microcomputer as a decision-making tool.  Theory and applications of various software packages, including word processing, electronic spreadsheets, databases, and presentation software.  Prerequisite: satisfaction of information technology proficiency requirement.  Lecture/Laboratory, 3 hours.

2223       Web Application Development I (3) F, SU
Survey of Web development techniques.Emphasis on developing and maintaining websites with topics including HTML, XHTML, and CSS coding.Use of software packages such as Dreamweaver and Photoshop Elements.  Prerequisite: IT 1213 and (IT 1123 or CS 1122), with grades of C or better. Lecture/Laboratory, 3 hours. This course may satisfy the SALT Tier II requirement.

2233       User Interface Design (3) SP
Provides an introduction to human-computer interface design and evaluation, with an emphasis on graphical user interfaces for software products. Covers design principles and theory, web usability, and selected basic research in the areas of human factors and human cognition.  Prerequisite: IT 2223, with a grade of C or better.

3121       Fundamentals of Database Concepts and Data Analytics (1) SU
Leveling course for graduate students with no prior background in database systems. Model organization data and business rules, logical and physical design of relational databases, data warehousing, data mining, and data administration.  Prerequisite: Application to the Master of Information Security program.

3131       Fundamentals of Data Communications and Network Management (1) SU
Leveling course for graduate students with no prior background in database systems. Concepts and terminology of data communications, network design, client/server architecture, distributed information systems with focus on communications architecture, and management.  Prerequisite: Application to the Master of Information Security program.

3223       Web Application Development II (3) SP
Advanced skills in Web application development.  Topics include use of Java Script, DHTML, SHTML, Action Script, etc.  Emphasis on using available technologies to produce a variety of website types with appreciable user interfaces.  Prerequisite: IT 2233 and CS 1213, with grades of C or better.

3233       Web Server Technologies (3) F
Application design using server technologies to transfer data from websites to and from databases.  Topics include: scripting languages such as ASP, PHP, data structuring languages such as XML, and other server technologies.  Prerequisite: IT 2233 and CS 2243, with grades of C or better.

3313       Network Principles (3) F, SP
Overview of current computer network theory and practice.Hardware requirements, network media and topologies, protocols and access methods, the Open Systems Interconnection (OSI) and Internet models.  Prerequisite: CS 1233, with a grade of C or better.

3323       Wireless Networks and Mobile Systems (3) F
Introduction to wireless networks and link protocols, mobile networking including support for the Internet Protocol suite, mobile middleware, and mobile applications.  Prerequisite: IT 3313, with a grade of C or better.

3333       Network Administration (3) F
Administration of peer-to-peer and client/server networks. Hands-on experience with commercial client and server software.  Topics include pre-installation planning, network installation, network software architecture, server configuration, client configuration, profiles and logon scripts, user account management, policies, resource sharing and security, disk management, remote access, backup and recovery, performance monitoring, and network optimization. Prerequisite: IT 3313, with a grade of C or better.

3343       Database Administration (3) SP
Database (e.g., Oracle) creation, including table spaces, user accounts, views, indexes, and other objects necessary to support an application.Understanding the internal structures and organization of database systems (e.g., Oracle).Account maintenance, data import and export, system backup, and performance tuning and monitoring.  Prerequisite: CS 2243, with a grade of C or better.

3413       Systems Analysis and Design (3) F
Introduction to analysis and design techniques, project management tools, data collection tools and system documentation tools.  Communication skills are emphasized.  Proper input/output design techniques, database, etc. are included in selection of appropriate implementation.  Evaluation of hardware/software options relating to feasibility.  Prerequisite: CS 2243, with a grade of C or better.

3423       Project Management (3) SP
Design and implementation of realistic information system projects while working in a team environment.  Prerequisite: IT 3413 or CS 3223, with grades of C or better.

350V      Special Topics in Information Technology (1 – 3) Offered on demand
Selected topics from the field of information technology.  The course may be either lecture or laboratory oriented depending upon the topic selected.  The study represents an in-depth approach to specific areas of interest to the students.  Repeatable for credit with departmental approval.  Prerequisite: consent of instructor.

395V      Internship in Information Technology (1 – 3) F, SP, SU
Provides the opportunity to gain experience with information technology in a work setting.  Credit is awarded according to the scale published by the Career Development Center.  Prerequisite: junior standing and permission of department chair.  Repeatable for up to six hours.

401V      Independent Study in Information Technology (1 – 3) F, SP, SU
Independent study research in primary or secondary data of information technology or Web applications development in a selected topic; title to be approved by the major professor and academic chair; paper to be kept on file.  Prerequisite: advanced standing, ability and approval of academic chair.  Repeatable for up to six hours.  This course may satisfy the SALT Tier II requirement.

4053       Senior Seminar in Web Development (3) SP
Required of all Web application development majors in their senior year.  Assessment of degree to which Web application development program outcomes have been achieved; reflection on, and synthesis of, Web application development academic experience; ethical-professional-creative expectations for the practicing Web developer; preparation for transition to professional practice.  Prerequisite: Senior standing in Web application development and 30 hours of IT courses.

4323       Modern Telecommunications (3) SP
Comprehensive overview, including current status and future directions. Topics include review of evolution of telecommunications; voice and data services; basics of signaling, digital transmission, network architecture, and protocols; local area, metropolitan, and wide area networks and narrow band ISDN; asynchronous transfer mode and broadband ISDN; and satellite systems, optical communications, cellular radio, personal communication systems, and multimedia services. Provides examples of real-life networks to illustrate basic concepts and gain further insight.  Prerequisite: IT 3323, with a grade of C or better.

4423       Management of Information Technology (3) F
The role of information technology in organizations and their strategic use for providing competitive advantage through the use of real-world case studies.Use of critical thinking skills to explore methods of using information systems to increase market share in organizational settings.  Prerequisite: Junior standing and IT 3413, with a grade of C or better.

4613       Senior Project (3) SP
Design and implementation of a suitable information system.  Prerequisite: Senior standing and must have taken CS 2233 and IT 3233 and 3413, with grades of C or better.