Computer and Information Science
COMS 1003: Introduction to Computer Based Systems
ACTS Common Course - CPSI 1003
Provides students with both computer concepts and hands-on applications. Although
little or no prior computer experience is required for this course, keyboarding proficiency
is assumed. Topics include PC basics, file maintenance, and hardware and software
components. Students will gain experience in the use of Windows, e-mail, the Internet,
word processing, spreadsheets, databases, and presentation packages. The integration
of software packages will also be covered.
Note: This course may not be taken for credit after completion of COMS 2003 or BUAD
2003.
Note: Credit by examination is offered to students who have notable experience with
computers and MS Office applications. Information regarding this examination can be
found at cs.atu.edu/coms1003.
COMS 1011: Programming Foundations I Lab
Offered: Fall, Spring, Summer
Laboratory for COMS 1013 Programming I course. This course is graded pass/fail.
Note: Previously offered as lab portion of COMS 2104
COMS 1013: Programming Foundations I
Offered: Fall, Spring, Summer
Prerequisite: MATH 1113 or higher.
Co-requisite: COMS 1011
An introduction to the foundational concepts of programming using structured programming
concepts of C++ as an implementation tool. Topics include sequential, selection, and
iterative control structures, functions, strings, and arrays.
Note: Previously offered as COMS 2104.
COMS 1333: Web and Mobile Technologies
Offered: Fall, Spring, Summer
An introduction to planning, designing, and maintaining effective web sites on desktop
and mobile devices. Topics include how to implement web pages by writing HTML and
CSS code; format web pages using text, images, multimedia, and page layout techniques;
design responsive sites for mobile technologies; and publish the sites to a web server.
COMS 1403: Orientation to Computing, Information, and Technology
An overview of hardware, software, technology, and information systems concepts and
terms as well as ethics and opportunities within the three fields.
Note: Required of all students who have declared a major in Computer Science, Information
Systems, or Information Technology.
COMS 1411: Computer and Information Science Lab
An introduction to the computing resources of the department and the university.
COMS 1921: Microsoft Excel
Preparation to pass the Microsoft Office Specialist: Excel Associate Certification
exam. Topics covered include creating and managing worksheets and workbooks, creating
cells and ranges, creating tables, applying formulas and functions and creating charts
and objects.
Credit for this course may be awarded to any student who has already obtained the
MOS: Excel Associate certification.
COMS 2003: Microcomputer Applications
Offered: Fall
Prerequisite: COMS 1003 or BUAD 2003
This course provides hands-on experience with several software applications. Topics
include intermediate and advanced word processing; spreadsheet design, formulas, and
charts; database design principles and implementation; presentation design and techniques;
and integration among these applications. Students will be required to apply each
package on a semester project related to their major.
COMS 2163: Scripting Languages
Offered: Fall, Spring
Prerequisite: COMS 1333 and a minimum of 3 hour programming course.
An introduction to web program development using modern scripting languages.
COMS 2203: Programming Foundations II
Offered: Fall, Spring
Prerequisites: COMS 1013 with a grade of "C" or better.
A continuation of Programming I which introduces object-oriented programming as well
as other topics, including multi-dimensional arrays, functions, string processing,
pointers, structs, and records.
COMS 2213: Data Structures
Offered: Fall, Spring
Prerequisites: COMS 2203 with a grade of "C" or better, and MATH 2703
A study of abstract data structures and the implementation of these abstract concepts
as computer algorithms. Topics include recursion, linked lists, stacks, queues, searching
and sorting algorithms, binary trees, and graphs.
COMS 2223: Computer Organization and Programming
Offered: Fall, Spring
Prerequisites: COMS 2203 and MATH 2703
Introduction to organizing and structuring hardware components of computers. Topics
include internal data representation, data transfer and control, I/O, memory hierarchy,
and programming in assembly.
COMS 2233: Introduction to Databases
This course develops a detailed understanding of a database software package developed for microcomputer applications. Topics include how to design, implement, and access a personal database. Entity relationship diagrams are emphasized in design. The use of macros, data conversion operations, linking, and complex selection operations are used in implementation. Advanced report generation mechanisms are covered along with custom-designed menus and user interfaces.
COMS 2323: Programming in Python
Prerequisite: COMS 2203
Introduction to the Python programming language where students will learn the basics
through advanced concepts including basic data types, control structures, regular
expressions, input/output, and textual analysis.
COMS 2333: Web Publishing II
Prerequisite: COMS 1333 or consent of instructor.
This course is a continuation of COMS 1333. Students are introduced to multimedia
design concepts and software. Multimedia applications and design tools are used to
create and maintain multimedia products such as dynamic graphics, animation, interactive
websites, and video.
COMS 2701: Computer Architecture and Networks Laboratory
Laboratory exercises repairing and networking computers.
COMS 2703: Computer Hardware and Architecture
Offered: Fall, Spring
An introduction to modern computer hardware and architecture. Students receive hands-on
experience in building a PC, as well as computer maintenance and troubleshooting skills.
$20 course fee.
COMS 2713: Survey of Operating Systems
Offered: Spring
Definition and brief history of computer operating systems, processes and their structure,
CPU scheduling, process synchronization, deadlocks, swapping, memory management, paging
and virtual memory, storage, secondary storage structure, and basic utility programs.
COMS 2733: Introduction to Computer Forensics and Security
An introduction to the fundamentals of computer forensic technology. The course emphasizes techniques for identifying and minimizing the threats to, and vulnerabilities of computer systems. These techniques include methods and tools for tracking suspicious activity, for recovering and preserving digital media, and for doing post-mortem analysis.
COMS 2803: Programming in C
Prerequisite: MATH 1113 or higher
For non-computing majors. This course involves the design, coding, debugging, and
implementation of programs using the C language. The UNIX operating system is introduced.
Note: May not be taken for credit after the successful completion of COMS 1013.
COMS 2903: Discrete Structures for Technical Majors
Prerequisites: MATH 1113 and a C or better In COMS 2104 or equivalent
Fundamental mathematical concepts related to computing, including logic and proof
techniques; sets, sequences, relations, and functions; combinatorics; algebraic structures
and Boolean algebra ; trees and graphs.
COMS 2981: Special Topics
Prerequisite: Permission of the department.
This course will be offered on an "as-needed" basis to cover those topics and subject
areas in computing that are emerging in a technological sense, but that do not yet
warrant the addition of a new course to the curriculum.
Note: This course may be repeated for credit if course content differs.
COMS 2982: Special Topics
Prerequisite: Permission of the department.
This course will be offered on an "as-needed" basis to cover those topics and subject
areas in computing that are emerging in a technological sense, but that do not yet
warrant the addition of a new course to the curriculum.
Note: This course may be repeated for credit if course content differs.
COMS 2983: Special Topics
Prerequisite: Permission of the department.
This course will be offered on an "as-needed" basis to cover those topics and subject
areas in computing that are emerging in a technological sense, but that do not yet
warrant the addition of a new course to the curriculum.
Note: This course may be repeated for credit if course content differs.
COMS 2984: Special Topics
Prerequisite: Permission of the department.
This course will be offered on an "as-needed" basis to cover those topics and subject
areas in computing that are emerging in a technological sense, but that do not yet
warrant the addition of a new course to the curriculum.
Note: This course may be repeated for credit if course content differs.
COMS 3053: Ethical Issues in Technology
Prerequisite: Junior standing in a computing or related degree
Ethical issues faced by members of a complex technological society and by professionals
in a technology-related field. Topics covered include professional ethics and ethical
decision making, as well as issues related to privacy, intellectual property, software
development, productivity, and computer crime.
COMS 3163: Web Programming
Offered: Spring
Prerequisites: COMS 1333, COMS 2213 and COMS 3233
How to create a dynamic user experience based on the data available on the web application.
Topics include database interactions with web-based scripting languages, logic-driven
content, data manipulation, form validation, session and cookie management, security,
and other concepts.
COMS 3213: Algorithm Design and Analysis
Offered: Fall
Prerequisites: COMS 2213
Concepts, implementation, and application of trees, hashing, graphs, and other advanced
data structures will be studied.
COMS 3233: Database Design and Implementation
Prerequisites: COMS 2203
The design and implementation of relational database systems, including conceptual
design and normalization. Students will also gain experience in database and query
implementation using a DBMS and SQL.
COMS 3243: Data Mining
Offered: Spring
Prerequisites: COMS 3233 and 3 hours statistics
Introduction to knowledge discovery from large databases: terminology, algorithms,
methodologies, software, limitations, implications, and current trends. Students will
implement and evaluate data mining techniques.
COMS 3313: Software Engineering
Offered: Spring
Prerequisite: COMS 3213
Software engineering fundamentals. Topics include analyzing system requirements, applicable
methods of design, verification and validation, team software development, software
project management, and building large, and reliable software systems.
Note: Course previously offered as COMS 4163
COMS 3363: Server Administration
Offered: Fall
Prerequisite: COMS 2703 and 2713.
The tools and techniques needed to administer a server, including installation, configuration,
and administration of a variety of servers on different platforms.
Note: Course previously offered as COMS 4313.
COMS 3373: Data Center Operations
Offered: Spring
Prerequisite: COMS 3363
An overview of the construction, design, and utilization of a data center, for IT
professionals. The course will start with physical realities of data center design
and construction, and proceed to discussion on data center level networking, storage
requirements, server utilization, and common administrative tasks in a data center
environment.
COMS 3413: App Development
Offered: Fall
Prerequisites: COMS 1333 and COMS 2213
Development of native and web applications for mobile devices with an emphasis on
security.
COMS 3503: Visual Programming
Offered: Spring of even years
Prerequisites: COMS 2213
The design and development of event-driven programs using an object-oriented visual
programming language.
COMS 3513: Administering and Using the IBM Platform
Prerequisites: COMS 1013
This course is an introduction to the operations of the IBM midrange computer system.
Topics include architecture, system security, user interface, and work management.
Coverage will also extend to applications and programming using an introduction to
DB2 and RPG.
COMS 3523: Human Factors in Information Technology
Prerequisite: Junior standing in a computing or related degree.
A study of the major factors involved in Human-Computer Interaction. A system- oriented,
multi-disciplinary approach to understanding the human considerations in the design,
testing, implementation, and administration of computer-based systems and information
technology.
COMS 3703: Advanced Operating Systems
Offered: Fall, Spring
Prerequisites: COMS 2213 and COMS 2223.
Basic operating system concepts and structures, CPU management, sharing resources
(disks, networks, and processors), process management, threads, CPU scheduling, synchronization,
deadlocks, memory management, segmentation, paging, swapping, file/device management,
protection mechanisms, distributed systems, Unix/Linux environments and kernel internals,
shell script programming, Unix/Linux file system, and case studies.
COMS 3903: Systems Software and Architecture
Prerequisites: COMS 1013
This course covers the implementation of production operating systems, the fundamentals
of digital logic, and machine architecture.
Note: This course does not count as credit toward a degree in Computer Science.
COMS 3913: Advanced Discrete Structures
Prerequisites: COMS 2203, COMS 2903 and MATH 2914
Advanced topics in discrete mathematics applicable to modeling, analysis, and computer
theory. Topics include relations, graphs, analysis of algorithms, and computability.
COMS 4033: Information Systems Analysis and Design
Offered: Fall
Prerequisite: COMS 3233
The application of concepts, tools, procedures, and techniques involved in the development
of information systems. Emphasis is placed on the systems approach to problem solving,
user involvement, the management of quality, project control, and teamwork.
COMS 4043: Systems Analysis and Design II
Prerequisites: COMS 4033
A continuation of COMS 4033, with emphasis on the application of the theory and techniques
covered in the previous course. Students will research, analyze, design, implement,
test and document a complete system. Students, working as a team, will analyze, plan,
implement, document, and present a complete system in a real world environment.
COMS 4053: Information Systems Resource Management
Offered: Spring
Prerequisites: Junior standing in a computing or related degree
A study of the principles and concepts involved in the management of organizational
maintenance of all information resources, including hardware, software, and personnel.
Includes coverage of departmental functions within computer/information services,
as well as legal, ethical, and professional issues, quality management, and the strategic
impact of information systems.
COMS 4063: IT Project Administration
Offered: Fall
Prerequisite: Junior standing in a computing or related degree.
A thorough introduction to the art and science of Project Management, as applied in
the domain of information technology. Theories, best practices, and tools of project
management are studied in relation to the completion of a successful project life
cycle.
COMS 4103: Organization of Programming Languages
Offered: Fall
Prerequisites: COMS 2213 and COMS 2223
This course emphasizes the comparative structures and capabilities of several programming
languages. Major emphasis will be placed on language constructs and the run-time behavior
of programs.
COMS 4133: Application Program Development
Offered: Fall of odd years
Prerequisites: COMS 2213
Object-oriented application development, including 00 Programming, three-tier design,
and model-driven development. Students will develop and present their own large-scale
application program.
COMS 4213: Database Administration
Offered: Spring
Prerequisite: COMS 3233
A comprehensive foundation in the planning, implementation and execution of database
management policies and procedures. Topics include installation, storage and replication
implementation, security management, indexing and performance tuning, and backup and
recovery.
COMS 4353: Artificial Intelligence
Offered: Fall of even years
Prerequisites: COMS 2213
A comprehensive overview of general concepts and AI history; development and exposure
to different artificial intelligence systems; planning, learning, and reasoning techniques;
pattern recognition and natural language processing.
COMS 4403: Compiler Design
Prerequisites: COMS 2223, COMS 3213 and COMS 4103
This course covers syntax translation, grammars and parsing, symbol tables, data representation,
translating control structures, translating procedures and functions, processing expressions
and data structures, and multipass translation. Students will design a computer language
and implement the compiler.
COMS 4413: Parallel and Distributed Computing
Offered: Spring
Prerequisites: COMS 2703 and COMS 3703
An introduction to the concepts and design of parallel and distributed computing systems.
Topics include data versus control parallelism, shared versus distributed memory,
message passing Interface (MPI) and topoligies, parallel and distributed algorithms.
COMS 4701: Data Communications and Networking Lab
Students will complete network lab exercises in support of COMS 4703.
COMS 4703: Data Communications and Networks
Prerequisites: COMS 2703
Basic elements and functional aspects of the hardware and software required to establish
and control data communications in a stand-alone or network environment. Topics include
communication protocols, media, network topologies, and system support software. Participation
in a designated lab outside of the regularly scheduled meeting time is required.
COMS 4710: Heterogeneous Networks Lab
Students will complete network lab exercises in support of COMS 4713.
COMS 4713: Networking Practicum
Offered: Spring
Prerequisite: COMS 3373
This course provides practical hands-on skills in a networked environment. Topics
covered include group policy, user management, licensing, and emerging trends in the
field.
COMS 4801: Special Methods in Computer Science Education
Offered: as needed
Prerequisite: Admission to student teaching phase of the teacher education program.
Exploration of the principles of curriculum construction, teaching methods, use of
resources, and evaluation as related to teaching computing.
COMS 4813: Teaching Methods in Computer Science Education
Offered: as needed
Prerequisites: Admission into Stage II of teacher education program and minimum 75%
of required COMS courses completed.
A methods course designed to prepare beginning educators for effective teaching in
a computer science (or related) program.
COMS 4913: Capstone I
Offered: Fall, Spring
Prerequisite: Senior standing
The first course in a two-course sequence where students will formulate teams, choose
a real-world project, create a proposal, and plan the project to be developed in the
second course.
COMS 4923: Capstone II
Prerequisite: COMS 4913
A continuation of Capstone I with an emphasis on the development, testing, and deployment
phase of the project based on the proposal presented in the previous course. Students
will work in teams to develop and present their project in a real-world environment.
COMS 4931: Internship
Prerequisite: Junior standing in a computing or related degree
A supervised, practical experience providing computing majors with hands-on professional
experience in a position relating to an area of career interests. The student should
secure an approved internship prior to course enrollment. During the internship, the
student will submit regular reports regarding their internship experience.
COMS 4932: Internship
Prerequisite: Junior standing in a computing or related degree
A supervised, practical experience providing computing majors with hands-on professional
experience in a position relating to an area of career interests. The student should
secure an approved internship prior to course enrollment. During the internship, the
student will submit regular reports regarding their internship experience.
COMS 4933: Internship
Prerequisite: Junior standing in a computing or related degree
A supervised, practical experience providing computing majors with hands-on professional
experience in a position relating to an area of career interests. The student should
secure an approved internship prior to course enrollment. During the internship, the
student will submit regular reports regarding their internship experience.
COMS 4951: Undergraduate Research in Computer and Information Science
Offered: On demand
Prerequisite: Departmental approval
Advanced students carry out independent research activity relating to a significant
problem in a major field of study. Supervised by faculty member. Formal report and
presentation required. One to four credits depending on problem selected and effort
made.
COMS 4952: Undergraduate Research in Computer and Information Science
Offered: On demand
Prerequisite: Departmental approval
Advanced students carry out independent research activity relating to a significant
problem in a major field of study. Supervised by faculty member. Formal report and
presentation required. One to four credits depending on problem selected and effort
made.
COMS 4953: Undergraduate Research in Computer and Information Science
Offered: On demand
Prerequisite: Departmental approval
Advanced students carry out independent research activity relating to a significant
problem in a major field of study. Supervised by faculty member. Formal report and
presentation required. One to four credits depending on problem selected and effort
made.
COMS 4954: Undergraduate Research in Computer and Information Science
Offered: On demand
Prerequisite: Departmental approval
Advanced students carry out independent research activity relating to a significant
problem in a major field of study. Supervised by faculty member. Formal report and
presentation required. One to four credits depending on problem selected and effort
made.
COMS 4981: Seminar in Computer and Information Science
Prerequisite: Permission of department
A directed seminar in an area of computer and information science. Seminars will focus
on topics relating to emerging technologies which are beyond the scope of other computer
and information science courses.
Note: This course may be repeated for credit if course content differs.
COMS 4982: Seminar in Computer and Information Science
Prerequisite: Permission of department
A directed seminar in an area of computer and information science. Seminars will focus
on topics relating to emerging technologies which are beyond the scope of other computer
and information science courses.
Note: This course may be repeated for credit if course content differs.
COMS 4983: Seminar in Computer and Information Science
Prerequisite: Permission of department
A directed seminar in an area of computer and information science. Seminars will focus
on topics relating to emerging technologies which are beyond the scope of other computer
and information science courses.
Note: This course may be repeated for credit if course content differs.
COMS 4991: Special Problems in Computer and Information Science
Prerequisite: Permission of department
This course will allow the student to work individually or as part of a small team
to study and design practical computerized systems in order to solve problems of particular
interest. This course may be used to offer a variety of subjects that strengthen the
student's knowledge in areas not covered by other course offerings.
COMS 4992: Special Problems in Computer and Information Science
Prerequisite: Permission of department
This course will allow the student to work individually or as part of a small team
to study and design practical computerized systems in order to solve problems of particular
interest. This course may be used to offer a variety of subjects that strengthen the
student's knowledge in areas not covered by other course offerings.
COMS 4993: Special Problems in Computer and Information Science
Prerequisite: Permission of department
This course will allow the student to work individually or as part of a small team
to study and design practical computerized systems in order to solve problems of particular
interest. This course may be used to offer a variety of subjects that strengthen the
student's knowledge in areas not covered by other course offerings.
COMS 4994: Special Problems in Computer and Information Science
Prerequisite: Permission of department
This course will allow the student to work individually or as part of a small team
to study and design practical computerized systems in order to solve problems of particular
interest. This course may be used to offer a variety of subjects that strengthen the
student's knowledge in areas not covered by other course offerings.