|
(2003-2004 Academic Year - the printed bulletin takes precedence
over any information displayed herein)
LOWER DIVISION
CPTG 104 Introduction to Information Systems
(4)
Conceptual basis of computer operations, logic, introduction to
use of word processing, spreadsheet, database, and Internet access
software. Applications to personal and business problems.
Prerequisite: MATH
007 or secondary school equivalent.
CPTG 121 Introduction to Computer Science
I (4)
Solving problems through structured programming of algorithms
on computers, using the C++ object-oriented language. Topics include
variables, expressions, input/output, branches, loops, functions,
parameters, arrays, and strings. Also covers software design, testing
and debugging. Three class periods, one three-hour laboratory per
week.
Prerequisite: MATH
121 or consent of the instructor.
CPTG 122 Introduction to Computer Science
II (4)
Structured and object-oriented programming in C++, emphasizing
good programming principles and development of substantial programs.
Topics include searching and sorting arrays, strings, classes, inheritance,
polymorphism, virtual functions, pointers, abstract data types,
and libraries. Three class periods, one three-hour laboratory per
week.
Prerequisite: CPTG 121.
CPTG 226 File Processing (4)
The file processing environment, records and blocking, various
file access methods, file maintenance, control systems, and utilities.
Prerequisite: CPTG 122.
CPTG 244 Data Structures (4)
Basic data structures such as lists, stacks, queues, priority
queues (heaps), binary search trees and hashing. Sorting algorithms.
Three class periods, one three-hour laboratory per week.
Prerequisite: CPTG 122.
CPTG 245 Computer Organization and Assembly
Language Programming (4)
Numbering systems and computer arithmetic. Computer operations,
memory organization, addressing modes, and interrupt handlers. Machine
language instructions and assembly language programming.
Prerequisite: CPTG 122.
CPTG 255 Systems and Network Programming
(4)
Programming projects using application program interfaces (API)
in the operating system and distributed environment. Projects selected
from file services, concurrent processes, inter-process communications,
sockets, remote procedure calls, TCP/IP, network protocols.
Prerequisite: CPTG 244.
CPTG 286 Programming (1-4)
Instruction in a specific computer language for the advanced programmer.
May be repeated provided a different language is used. Recently
taught languages include: Ada, Java, Perl.
Prerequisite: CPTG 122.
CPTG 299 Directed Study (1-4)
May be repeated for additional credit with consent of the department
chair.
UPPER DIVISION
CPTG 324 Programming Languages (4)
A formal definition of programming languages, including specification
of syntax and semantics. Study of the design and implementation
of high-level languages. Offered alternate years.
Prerequisite: CPTG 244, 245;
or consent of the instructor.
CPTG 334 Systems Analysis (4)
Approaches to the analysis and design of management and information
systems. Offered alternate years.
Prerequisite: CPTG 244 or consent
of the instructor.
CPTG 345 Digital Logic Design
(4)
Design of digital systems. Topics include Boolean algebra, combinational
and sequential logic design, design and use of arithmetic-logic
units, carry-lookahead adders, multiplexers, decoders, comparators,
multipliers, flip-flops, registers, and simple memories. Laboratories
involve use of hardware description languages, synthesis tools,
programmable logic, and hardware prototyping. Three class periods,
one three-hour laboratory per week. Offered alternate years.
Prerequisite: CPTG 245 or consent
of the instructor.
CPTG 364 Analysis of Algorithms
(4)
Techniques for the design and analysis of efficient algorithms,
including divide-and-conquer, greedy algorithms, and dynamic programming.
Applications selected from scheduling, matching, text/pattern processing,
combinatories, graphs, and advanced data structures. Offered alternate
years.
Prerequisite: CPTG 244 , MATH
276.
CPTG 424 Database Design and Management
(4)
Data models, data description languages, query languages, file
organization, data security and reliability. Offered alternate years.
Prerequisite: CPTG 244 or consent
of the instructor.
CPTG 434 Operating Systems (4)
Study of the design and implementation of operating systems. CPU
management, memory management, process management, file systems,
scheduling, protection and security. Offered alternate years.
Prerequisite: CPTG 244, 245;
or consent of the instructor.
CPTG 445 Computer Architecture (4)
Computer organization and architecture, RISC, pipelining, memory
hierarchy, cache, virtual memory. Offered alternate years.
Prerequisite: CPTG 244, 245;
or consent of the instructor.
CPTG 454 Compiler Theory (4)
Fundamentals of compiler design, lexical analysis, parsing, semantic
analysis, code generation and error detection. Offered alternate
years.
Prerequisite: CPTG 324 or consent
of the instructor.
CPTG 455 Software Engineering
(4)
Concepts and methodologies of object-oriented analysis and software
design. Students will discuss and implement moderately large software
systems as team projects. Three class periods, one three-hour laboratory
per week. Offered alternate years.
Prerequisite: CPTG 324 or CPTG
334, and ENGL 111-113 or ENGL 124..
CPTG 486 Topics in Computing (2-4)
Content determined by interests of faculty and students, with
specific areas listed in class schedule. May be repeated with new
content for additional credit.
Prerequisite: CPTG: 244, 245;
or consent of the instructor.
CPTG 494 Internship (0-8)
A minimum of 12 weeks of structured and supervised work experience.
Limited to juniors and seniors majoring in computer science/information
systems.
Prerequisite: CPTG 244, 245,
324, and consent of the department chair.
CPTG 499 Directed Study (1-4)
The study of topics or problems not covered in courses currently
being taught. Limited to majors in the department. May be repeated
for additional credit.
Prerequisite: CPTG 244, 245,
and consent of the department chair. |