CSC 111: Introduction to Programming (with 1 hr. lab) 4 cr.
"Algorithms, programming, computers, languages, and language
structure."
* Now the student is ready for some real programming, using
Java (new as of Spring 2000). All the elements of introductory
programming are taught, such as variables, loops, good design,
debugging.
CSC 212: Data Structures (with 1 hr. lab) 4 cr.
"Basic concepts of data structures and file organization.
User- defined structures and abstract data types."
MUST HAVE PASSED CSC 111 and CSC 111L with a grade of B- or higher.
* This course provides more practice in programming,
emphasizing better program structuring techniques such as
abstract data types. In addition advanced data structures, such
as linked lists, trees, queues, etc. are covered. Some file
concepts above and beyond simple sequential files are also
introduced, such as ulect access files.
CSC 213: Large Scale Programming (with 1 hr. lab) 4 cr.
"Programming in the large, emphasizing large programs,
elementary software engineering principles, especially
documentation and testing."
MUST HAVE PASSED CSC 212.
* In this course students will get more practice in
programming, documentation, testing, and group work. Java will
be used in Spring 2000 for the first time in this course.
CSC 253: Computer Hardware (with 1 hr. lab) 4 cr.
"Introduction to computer organization and architecture,
emphasizing Boolean logic, gates, buses, digital circuits and
computer components. Some assembler programming."
MUST HAVE PASSED CSC 111.
* Many aspects of computer hardware are introduced, such as
gates, flip-flops, Boolean logic, number systems. Then higher
levels of organization are developed: registers and memories,
the ALU and the control circuitry."
CSC 281: Automata and Algorithms 3 cr.
"Formal language theory including finite automata, pushdown
automata, grammars, Turing Machines, the Halting Problem, and
primitive recursive functions. Analysis of algorithms is
introduced."
MUST HAVE PASSED CSC 212.
* The formal models developed to study computation are
introduced and studied. This course involves no programming, no
hands-on experience with the computer, but rather just
theoretical and abstract "machines" on papers. There are some
proofs.
CSC 310: Information Organization & Processing (with 1
hr. lab) 4 cr.
"Databases and knowledge bases are introduced, as well as
issues related to efficient organization of all kinds of data.
Ethical issues related to privacy are investigated."
MUST HAVE PASSED 213.
CSC 330: Distributed Computing (with 1 hr. lab) 4 cr.
"All aspects of distributed systems and computing, from
multi-site multi-user applications to operating systems and
networking."
MUST HAVE PASSED CSC 212 and CSC 253.
* Operating systems are the programs that manage and allocate
resources in a computer, like disks and tapes, terminals, CPUs,
communications ports and other hardware. They are all studied,
along with security theory, parallel programming, transaction
systems, and distributed operating systems.
CSC 360: Intelligent Systems (with 1 hr. lab) 4 cr.
"How to program computers to behave in ways normally
attributed to `intelligence' when observed in humans. Social
impact of AI technology, for example, expert systems."
MUST HAVE PASSED CSC 111 and be a junior or senior.
CSC 351: Comparative Programming Languages (with 1 hr.
lab) 4 cr.
"Systematic study of programming languages and their
implementations, including applications from various fields."
MUST HAVE TAKEN CSC 211 already.
* In this course, the mystery behind programming language is
stripped away and students see how they really work -- how
arrays and records are implemented, how parameters are passed,
and many other things. The main paradigms of programming
languages are presented and a representative language from each
is presented and a short program done in it. In the past this
has included Ada, Prolog, FP and LISP.
CSC 380: Web Development (with 1 hr. lab) 4 cr.
"Web history, design for the Web, fonts and typography, profiling/cookies,
programming and scripting (including CGI, Perl, Java, JavaScript),
database access, client/server mechanisms, serach engines, copyright and
use of copyrighted materials, security issues, ethical issues."
MUST HAVE TAKEN CSC 111 already and be a junior or senior.
CSC 391-491: Computer Science Seminar 1 cr, 1 cr, 1
cr
"Student-faculty seminar for majors. To be taken for two
semesters. Students will work on a research question in a small team of 3-5
students, headed by a professor.
CSC 395: Software Engineering (with 1 hr. lab) 4 cr.
"Professional responsibilities and the application of
engineering principles to the design, production, use, and
maintenance of software is studied through readings and a team
project."
MUST HAVE PASSED CSC 213.
CSC 400: Special Topics in computing 3 or 4 cr.
"Current topics of interest to faculty and students. Possible
topics: data communications, networks, object-oriented
programming, and other modern programming languages such as
Java."
MUST GET PERMISSION OF INSTRUCTOR TO REGISTER.
CSC 497: Internship 1 to 3 cr.
"Special projects with local institutions."
MUST GET PERMISSION OF CHAIR TO REGISTER.
CSC 498: Independent Project 3 cr.
"Formulate a problem in Computer Science, design and
implement a solution, and evaluate the result. Documentation and
oral presentation are required."
MUST GET PERMISSION OF CHAIR TO REGISTER and be a junior in
CS.
CSC 499: Independent Study 3 cr.
MUST GET PERMISSION OF CHAIR TO REGISTER.