Course Descriptions

| More

Computer Science Course Descriptions

CMSC 1103 Microcomputer Applications - Introduction to the use of computers as a data processing and problem solving tool for business. Applications include spreadsheets, database management, and presentation software. Lecture and laboratory.  Will not count as an elective for Computer Science majors or minors.   Pre:  High School Algebra

CMSC 2003 Programming Concepts - A course with no prerequisites that is intended for CS majors, CS minors, BIS majors, and computer literate non-majors.  This course introduces the student to problem-solving, logic structures, pseudo-code, flow charts, statement sequencing, conditional statements, loop structures, and input/output processes.  It is language independent althought C++ examples will be presented.

CMSC 2103 Computer Programming I - An introduction to problem solving methods and algorithm development. Students will learn to design, code, debug , and document programs using techniques of good programming style in a high level language. Prerequisite: concurent enrollment with CMSC 2003, or permission of the department.

CMSC 3003 Database Management Systems - An application oriented course on the management of data in a variety of situations using both data manager and spreadsheet software. System analysis, file specification and maintenance, data entry and manipulation, report generation. Prerequisite: CMSC 1103, CMSC 2003, or permission of the department.

CMSC 3033 Java Programming - This course provides students with a knowledge of general programming skills as well as basic Java Programming.  Java is a programming language that is becoming the standard for Internet applications.  The Java language provides interactive processing, increased use of graphics, and animation on the Internet.   Pre: CMSC 2103 or permission of the department.   

CMSC 3043 Introduction to COBOL Programming -  Computer programming using the COBOL language emphasizing the syntax and features of the language.  Prerequisite: CMSC 2003 or equivalent high school background.

CMSC 3053 Visual Basic Programming -  Problem solving and computer programming using Visual Basic with emphasis on business applications and including elements of file processing. Prerequisite: High School Algebra  and CMSC 2003

CMSC 3063 Python Programming - Python offers the computer science student a programming language that is flexible, powerful, mult-core oriented, optimized for threading, and enables the programmer to write functional programs quickly.  The course will cover all aspects of the language with emphasis on its multi-core and threading capabilities.   Prerequisite: CMSC 2003 and CMSC 2103

CMSC 3093 Computing Environments: Business - Computer Environments: Business will equip the comptuer science major and minor with a general understanding of many aspects of business including marketing, accounting, finance, management, and information systems.  The course will emphasize the role IT plays in developing systems to meet the unique needs of modern business.  Emphasis is on the systems of online retailers.  Prerequisite: CMSC 2003 and CMSC 2103

CMSC 3113 Networking Essentials - This course covers the following topics: introduction to networks and network concepts, network design essentials, networking media, network interface cards, making networks work, network communications and protocols, network architectures, simple network operations, complex networks, network administration & support, enterprise and distributed networks, wide area and large-scale networks, solving network problems, and internet resources. Prerequisite: CMSC 2103 or permission of the computer science department.

CMSC 3203 Computer Programming II - A continuation of Computer Programming I with emphasis on larger programs. Introduction to algorithmic analysis, string processing, recursion, internal search/sort methods, and simple data structures. Prerequisite: CMSC2103.

CMSC 3313 Human Interface Design - This course includes graphical user interface design, event driven programming, tool libraries, basic control structures, and dynamic arrays.  Pre:  CMSC 2103 & 3203.

CMSC 3323  PHP Programming - This course covers the programming of an open-source, HTML-embedded, server-side scripting language named PHP.  It can be used to create dynamic web applications very quickly.  The syntax of PHP is a combination of C, Java, and Perl.   Prerequisite:  CMSC 2103.

CMSC 3403 Introduction to Computer Organization - A study of the organization and structuring of the major hardware components of computers including mechanics of information transfer and control within a digital computer system. Prerequisite: CMSC 2103 or permission of the department. 

CMSC 3513 Network Security - This course offers a broad review of network security topics, background on related elements, and enough detail to facilitate understanding of the materials.  It will cover the terminology of the field as well as a wide variety of network related topics.  Prerequisite: CMSC 2003 and CMSC 2103

CMSC 3913 Numerical Analysis - Computer algorithms and the complete preparation and solution of selected mathematics and science problems. Digital computer solution of equations, functional approximations, least squares curve-fitting, numerical differentiation and integration. Prerequisite: CMSC 2103 and MATH 2215.

CMSC 4003 Database Management Systems Design - Integration of data structures and operating system architecture into a data base management system design. Advanced programming of algorithms into management system programs. Pre: CMSC 2103 and 3003.

CMSC 4013 Systems Analysis and Design - Fundamental concepts of the design and implementation of integrated business systems. Application research, problem definition, fact-gathering techniques, report requirements, and source data requirements. General systems flow charting, decision tables, data controls, and system controls. System implementation, evaluation and maintenance. Prerequisite: CMSC 2103 or CMSC 3003 or permission of the department. 

CMSC 4023 Advanced Programming  - This course emphasizes the syntax and features of the language. Topics include control flow, functions and program structure, pointers and arrays data structures, and input/output. Pre: CMSC 2103 and 3203. 

CMSC 4213 Computer Forensics - Computer Forensics includes an overview of laws pertaining to evidence collection, the techniques used by investigators to gather and analyze evidence, the requirements for certification as an expert witness, the rules pertaining to handling and storage of evidence, and numerous demonstrations of software used by this rapidly expanding Computer Science based profession. The role data mining and data sinks play in computer forensics software is covered as well as the methods used to access them. This course incorporates many out-of-class hands-on activities including the use of Open Source Forensics Software and various techniques to recover information from damaged storage devices. Pre: CMSC 2003 and CMSC 2103 or permission of the department.

CMSC 4513 Open Source - This course is an introduction to the open source environment.  This will include hands-on installation and use of the open source operation system and applications.  Other topics include program applications installled.  Prerequisite:  minimum of 21 hrs of CMSC classes.

CMSC 4523 Game Programming - This course introduces issues inherent in the process of game design.  This course will be a hands-on introduction to game programming.  Topics include the skills and tools needed for story adn character development, game design, pre-production, prototyping, testing, end-user testing, human interface, content development and communication documents.  Prerequisite:  minimum of 21 hrs of CMSC classes.

CMSC 4603 Operating Systems and Computer Architecture - A study of major operating system principles including storage and device management using a modern operating system. Prerequisite: CMSC 2103 and 3113.

CMSC 4703 Data Structures and Algorithm Analysis - More rigorous study of data structures and software development. Investigation of problem solving process using abstract data types and data structuring. Comparative study of algorithms using time complexity functions and growth rate functions. Emphasis on the analysis and design of efficient algorithms for larger software systems. Prerequisite: CMSC 2103, 3203, & 4023.