Undergraduate Computer Science
Undergraduate Computer Science
2013 Fall Term
Disclaimer
- This course listing is informational and does not guarantee availability for registration.
- Please click through to view the class schedule to see sections offered for your selected term.
- Sections may be full or not open for registration. Please use WINS if you wish to register for a course.
COMPUTER APPLICATIONS (GM)
COMPSCI 162
A thorough introduction to using computers covering word processing, spreadsheets, data storage and retrieval, computer graphics and applications, uses of computers, e-mail and the Internet, hardware, history, and problems arising from the use of computers.
INTRODUCTION TO PROGRAMMING (GM)
COMPSCI 171
An introduction to computer programming and its applications to science, business and education. Opportunity for extensive experience in designing and writing structured programs in the Visual Basic language.
INTRODUCTION TO JAVA
COMPSCI 172
This course will give students the essentials of object-oriented programming in Java. Students will learn to formulate algorithms, to solve problems and to implement those solutions with a Java program that employs objects and classes. The student will be introduced to object-oriented design, applications and applets, class construction, methods and message passing arrays, string processing, file processing, and some event-handling and Graphical Use Interface programming. This course is designed for students with some prior programming experience.
INTRODUCTION TO C++
COMPSCI 174
This course teaches basic programming skills using the structured high-level language C++. Topics include basic input and output, declaration and use of variables, use of control statements, implementation of functions usig value and reference parameters, arrays, and structures. Students will write moderately complex applications using C++.
INTRODUCTION TO DATABASE AND THE WEB (GM)
COMPSCI 181
This course provides the student with a comprehensive working knowledge of a modern database package including the creation of a database, construction of a wide range of queries, use of forms, and report writing features. The course also gives an introduction to the creation of World Wide Web pages using the Extended Hypertext Markup Language (XHTML).
INTERMEDIATE C++
COMPSCI 222
This course will cover more advanced issues of C++, including memory management, pointers and user-defined data types. Topics will include reading and writing files, dynamic arrays, implementation of the principles of object oriented design including encapsulation, and inheritance, planning and testing. Students will write complex applications using C++.
DATA STRUCTURES
COMPSCI 223
This course covers issues of data structures, professional software development methodologies including software patterns and advanced object oriented techniques. Topics include lists, queues, stacks and trees. Complex data structure and object-oriented design technique, including inheritance and polymorphism, are applied to develop and large projects. UNREQ: MCS 231, COMPSCI 231, COMPSCI 223
ASSEMBLY PROGRAMMING
COMPSCI 271
This course covers PC hardware and the use of an assembly language including writing, linking, and executing a program. Also covered are number systems, the 8086 processor, instructions for arithmetic and logical operations, memory access, loops, declaring variables, and using interrupts, machine language, segments, stacks, procedure writing, and file handling.
INTRODUCTION TO ARTIFICIAL INTELLIGENCE
COMPSCI 332
This course introduces basic artificial intelligence principles including simple representation schemes, problem solving paradigms, constraint propagation, search strategies and learning approaches. Knowledge representation, natural language processing, gaming, machine learning and user modeling will be explored. Students should have written moderately complex computer programs in a high level language.
JAVASCRIPT AND DHTML
COMPSCI 381
JavaScript is a computer language for adding flexibility and functionality to web pages. A powerful language in its own right, it also has the capability to interact with HTML forms, browsers, Java applets, and other objects found on a web page. Students in this course will gain a thorough understanding of JavaScript, and learn to harness it abilitities to manage windows, forms, events, cookies, etc.
CGI SCRIPTING
COMPSCI 382
CGI scripting is key to processing web forms, as well as for automating a wide range of server tasks. This course will provide a thorough introduction to the CGI scripting languages including PERL, PHP, PYTHON, and RUBY. Students will learn to manipulate data, generate dynamic web pages, control email and much more.
COMPUTER ORGANIZATION AND SYSTEM PROGRAMMING
COMPSCI 412
Introduction to organization of modern digital computers - understanding the various components of a computer and their interrelationships. Study of systems programming in C/Linux.
OPERATING SYSTEMS
COMPSCI 424
This course covers problems encountered by computer operating systems including resource management, memory management, virtual memory, concurrent programming, and distributed systems. Algorithms are presented for deadlock, memory paging, job scheduling, memory allocation, and performance measurement. Operating systems such as WINDOWS, DOS, UNIX, VMS, and MVS are discussed.
THEORY OF ALGORITHMS
COMPSCI 433
This course is a survey of algorithms needed for searching, sorting, pattern matching, analyzing graphs, and a variety of other problems of discrete mathematics. Analysis of algorithm efficiency and space/time tradeoffs are discussed.
SOFTWARE ENGINEERING
COMPSCI 476
This course introduces concepts and techniques relevant to the production of large software systems. Students are taught a programming method based on the recognition and description of useful abstractions. Topics include: modularity; specification; data abstraction; object modeling; design patterns; and testing.
INDEPENDENT STUDY IN COMPUTER SCIENCE
COMPSCI 498
Study of a selected topic or topics under the direction of a faculty member. Repeatable. Department Consent required.