|
CSCI 111 – Programming and Algorithms I in Java (4 units)
[Archived Web-based Course] [Preview]
Prerequisites: At least one year of high school
algebra and strong computer skills or CSCI 101.
A first-semester object-oriented programming course, providing
an overview of computer systems and an introduction to problem
solving, object-oriented software design, and programming. Coverage
includes the software life cycle, as well as algorithms and
their role in software design. Students are expected to design,
implement, and test a number of programs. If you
are unsure if you meet the prerequisite for this course, please
contact Dr. Anne Keuneke at 530-898-5998 or at amk@ecst.csuchico.edu
prior to enrolling.
CSCI 211 (formerly CSCI 112) – Programming
and Algorithms II in C++ (4 units)
This course is no longer available.
Prerequisite: Grade of C- or better in in
CSCI 111 (or EECE 135
for engineering majors).
A second semester object-oriented programming course in computer
science that emphasizes problem solving. This course continues
the study of software specification, design, implementation,
and debugging techniques while introducing abstract data types,
fundamental data structures and associated algorithms. Coverage
includes dynamic memory, file I/O, linked lists, stacks, queues,
trees, recursion, and an introduction to the complexity of algorithms. Students
will be expected to design, implement, test, and analyze a number
of programs.
CSCI 221 – Assembly
Language Programming (4 units)
[Archived Web-based Course] [Preview]
Prerequisite: CSCI 211 (formerly CSCI 112)
Topics include number systems and their rules for arithmetic;
basic central processing unit (CPU) organization concepts such
as registers, data paths, the arithmetic and logic unit (ALU),
and the interface to random access memory (RAM); instruction
formats, addressing modes and their uses with a variety of data
structures; and parameter passing techniques including the use
of a stack frame. The use of good programming methodologies
to develop and document algorithms at the assembly language
level is emphasized. For more information, please
contact Dr. Judy Challinger at 530-898-6357 or at jchallinger@csuchico.edu
prior to enrolling.
CSCI 301 – Computer's
Impact on Society (3 units)
This course currently is not available.
Prerequisite: Junior standing.
Impact of computers and high-tech systems on people, institutions,
organizations, and environment. Examines the following: law,
medicine, education, government, data banks, privacy, computer
security, changing work, automation, robots, expert systems,
AI, social responsibility, ethics, war, and conflict resolution.
Includes weekly reading, midterm, and final writing projects.
No programming.
CSCI 311 – Algorithms and Data Structures in Java (4 units)
[Archived Web-based Course] [Preview]
Prerequisite: CSCI 211 (formerly CSCI 112)
The purpose of this course is to introduce students to object-oriented
software design methodologies and implementation alternatives
for various fundamental data structures and problems in computer
science. In addition, due to the focus on object-oriented techniques
and the capabilities Java provides, we will address newer problems
such as multithreading in concurrent and distributed programming.
We will study various data structure/algorithm combinations
and analyze their relative advantages and disadvantages using
both mathematical and empirical measurements. The Abstract Data
Type (ADT) constructs of data abstraction and information hiding
are emphasized throughout the course and are explicitly implemented
for each data structure via Java objects. If you are unsure
if you meet the prerequisite for this course, please contact
Dr. Anne Keuneke at 530-898-5998 or at
amk@ecst.csuchico.edu prior to enrolling.
CSCI 311 -- Algorithms
and Data Structures in C++ (4 units)
[Archived Web-based Course] [Preview]
Prerequisite: Grade of C- or better in CSCI
211 (formerly CSCI 112)
This course focuses on object-oriented methodologies in designing
and implementing a variety of data structures and algorithms.
Coverage includes recursion, trees, search structures, hashing,
heaps, sorting algorithms, and graph algorithms. Data structure
and algorithm combinations will be studied and analyzed along
with their relative merits using both mathematical and empirical
measurements. The course includes a number of large programming
assignments focusing on object-oriented software engineering
and algorithm development. Students will be required to design,
implement, test, and analyze their programs in at least one
object-oriented language. If you are unsure if you meet the
prerequisite for this course, please contact Dr. Melody Stapleton
at 530-898-5617 or at melody@ecst.csuchico.edu
prior to enrolling.
CSCI 315 – Programming Languages (3 units)
[Archived Online Course] [Preview]
Prerequisite: CSCI 211 (formerly CSCI 112)
An investigation into the structure and syntax of current programming languages, including binding, scoping, data types, transfer-of-control structures, subprograms, abstract data types, object-oriented programming, and functional programming. In addition to these topics, this course provides an in-depth look at a modern language system: the Microsoft .NET Framework. The key features of the .NET Framework that will be covered include the Common Language Infrastructure (CLI), .Net Assemblies, .NET Metadata, Security, and the Common Language Runtime (CLR). We examine how these features provide programming language interoperability. The .NET Framework Class Library is explored, with a focus on the Base Class Library (BCL). Undergraduates should enroll in CSCI 315, and graduate students should enroll in CSCI 598. Please note that the course assignments for CSCI 598 will differ from those in CSCI 315. If you would like further information or are unsure if you meet the prerequisite for this course, please contact Dr. Judy Challinger at 530-898-6357 or at jchallinger@.csuchico.edu prior to enrolling.
EECE 320 – System
Architecture and Performance (formerly CSCI 320 - Computer Architecture) (3 units)
[Archived Online Course] [Preview]
Prerequisite: CSCI 221
The course introduces basic digital logic design techniques and integrates the topics of assembly language programming, computer organization, and computer design. Topics include the design of the arithmetic and logic unit (ALU), hardware multiplication and division, multiple clock cycle implementations, hazard detection and forwarding, and design of a memory hierarchy. If
you are unsure if you meet the prerequisites for this course,
please contact Dr. Judith Challinger at 530-898-6357 or at jchallinger@csuchico.edu prior to enrolling.
CSCI 330 – Software Engineering (3 units)
This course currently is not available.
Prerequisites: CSCI 311,
ENGL 130 (or its equivalent) with a grade
of C- or higher.
Special problems in the development of large software systems.
Software life cycle, requirements analysis, structural design,
implementation, costing, standards, verification, and validation.
A group project is required. This is a writing proficiency,
WP, course; a grade of C- or better certifies writing proficiency
for majors.
CSCI 340 –
Operating Systems Programming (4 units)
[Archived Web-based Course] [Preview]
Prerequisites: CSCI 311 and CSCI 320
.
Operating system fundamentals, including history, process and
thread management, concurrency with semaphores and monitors,
deadlocks, storage management, file systems, I/O, and distributed
systems. If you are unsure if you meet the prerequisites for this course, please contact Dr. Robert Roggio at broggio2000@yahoo.com prior to enrolling.
CINS 448 – Computer Security (formerly CSCI 448 -Survey of Computer Security) (3 units)
[Archived Web-based Course] [Preview]
Prerequisites: Any upper-division computer networks course or permission of the instructor.
This course provides a broad overview of some of the more technical aspects of Information Systems Security. The content is designed to prepare students for the Certified Information Systems Security Professional/Associate (CISSP/A) examination from the International Information Systems Security Certification Consortium (ISP2), including a discussion of each of the following topics: security management practices; access control systems; telecommunications and network security; cryptography; security architecture and models; operations security; applications and systems development; business continuity planning and disaster recovery planning; law, investigation, and ethics; and physical security. If you are unsure if you meet the prerequisite for this course or have questions about course content, please contact Dr. Seung Bae Im at 530-898-5056 or at sim@ecst.csuchico.edu prior to enrolling.
CSCI 465 –
Web Programming Fundamentals (3 units)
This course is no longer available.
Prerequisite: CSCI 311
This course is a comprehensive introduction to the major technologies
used in the construction of interactive, client-server Web sites.
Emphasis is placed on the protocols and standards used for exchanging
data between the client and server programs. Both client and
server side implementation methods are discussed using programming
and scripting languages for the creation of dynamic Web pages.
The use of direct client-to-server network communication, performance
implications for implementation technologies, and techniques
for increasing Web site security are discussed. Technologies
utilized will include some of the following: XHTML and XML,
Java, JavaScript, JSP, and Servelets, CGI and Perl, PHP and
MySQL, C# and ASP.NET. Students will be expected to develop
at least one complete dynamic Web application, in addition to
smaller programming exercises.
CSCI 470 –
Database Management (3 units)
This course currently is not available.
Prerequisite: CSCI 211 (formerly CSCI 112)
This course provides an introduction to the theory and methodology
for database design and implementation. Topics may include a
survey/lecture component as well as a project component. The
survey component covers entity-relationship modeling, relational
algebra and calculus theories, data definition and data manipulation
languages such as SQL, file structures, transactions, concurrency
control, recovery, tuning and optimization, and object-oriented
databases. The project entails requirements definition, design,
and implementation of a database application.
CSCI 490 –
Directed Programming Experience (1–3 units)
Prerequisites: CSCI 311 and faculty permission
This course is a special topic programming experience offered
as for 1-3 units. You must register directly with a supervising
faculty member. Directed experience in programming systems
and applications, weekly conferences, limited to a maximum of
4 units during degree program. Projects may consist of
from 1 to 10 students working on software development teams.
You may take this course more than once for a maximum of 3.0
units. Credit/no credit grading only. Contact Nancy Park at nepark@csuchico.edu
or at 530-898-6105 for more information.
CSCI 511 – Object-Oriented
Programming & Implementations in Java (3 units)
[Archived Web-based Course] [Preview]
Prerequisites: CSCI 311] . Instructor strongly recommends CSCI 533
(Object-Oriented Analysis and Design).
This class focuses on object-oriented programming using the
large class libraries and interactive programming environments
provided in the Java Programming Language. Topics include both
design considerations (e.g. model/view/controller architectures)
and the programming constructs of user-interfaces, multi-threaded
systems, I/O, database connectivity (JDBC), exception handling,
and distributed computing (client/server programming with sockets).
Note: this is not just a Java "intro".
The labs are designed to focus on certain strengths (not basics)
of Java. If you are unsure if you meet the prerequisite for
this course, please contact Dr. Anne Keuneke at 530-898-5998 or at
amk@ecst.csuchico.edu prior to enrolling.
CSCI 547 – Computer Networks
(3 units)
[Archived Web-based Course] [Preview]
Prerequisites: CSCI 340
Covers the concepts, vocabulary, design issues, and techniques
currently used in the area of computer networks. Topics include
history and evolution, transmission media, interconnection topology,
control methods, protocols, types of nodes, network interfaces,
performance analysis, diagnosis and maintenance, taxonomy, bridges,
and gateways. Case studies of existing state-of-the-art networks
are included. If you are unsure you meet the prerequisites for
this course, please contact Dr. Seung-Bae Im at 530-898-5056 or at
sim@ecst.csuchico.edu prior to enrolling.
CSCI 550 –
Theory of Computing (3 units)
[Archived Web-based Course] [Preview]
Prerequisites: MATH 317 (Discrete Mathematical Structures)
An introduction to formal languages, grammars, and automata
theory with unsolvable problems. If you are unsure if you meet
the prerequisite for this course, please contact Dr. Benjoe Juliano
at 530-898-4619 or at juliano@ecst.csuchico.edu
prior to enrolling.
CSCI 566 –
Computer Graphics (3 units)
Prerequisites: CSCI 311
[Archived Web-based Course]
This course covers algorithms and data structures in computer
graphics. Topics include output primitives and their attributes,
2-D and 3-D geometric transformations and viewing, 3-D object
modeling, parallel and perspective projections, visible surface
detection, illumination models, and rendering algorithms. If
you are unsure if you meet the prerequisite for this course,
please contact Dr. Judy Challinger at 530-898-6357or at jchallinger@csuchico.edu prior to enrolling.
CSCI 567 –
Graphical User Interface Implementation (3 units)
Prerequisites: CSCI 311
[Archived Web-based Course] [Preview]
This course
introduces the student to the implementation of graphical user
interfaces using object-oriented programming. We will utilize
the Java programming language and the Swing API. Learn to give
your applets and applications a sophisticated graphical user
interface! Previous knowledge of the Java language is not required,
but at least 3 semesters of previous experience programming
in an object-oriented language is expected. For more
information, please contact Dr. Judy Challinger at 530-898-6357
or at jchallinger@csuchico.edu
prior to enrolling. The course syllabus is available
here: http://www.ecst.csuchico.edu/~judyc/0304S-csci233/syllabus.html.
CINS 570 - Advanced Database
Management Systems (formerly CSCI 570) (3 units)
[Archived Web-based Course] Prerequisites: CSCI
470 [Formerly CSCI 273] or MINS 235 [Formerly MINS 018]. Course topics include database application programming
using a high performance, high concurrency multi-user database
management system. This course covers the SQL programming language
including Data Definition Language, Data Manipulation Language,
and Data Control Language. The course then focuses on a procedural
database programming language including control structures,
composite datatypes, explicit cursors, exception handling, and
writing embedded SQL applications. If you are unsure if
you meet the prerequisite for the course, please contact Dr.
Stapleton at 530-898-5617 or at mjstapleton@csuchico.edu before enrolling.
CSCI 580 –
Artificial Intelligence (3 units)
This course currently is not available.
Prerequisite: Grade of C- or better in CSCI
311.
An introduction to the basic principles, techniques, and applications
of Artificial Intelligence. Coverage includes knowledge representation,
logic, inferencing, problem solving, search algorithms, game
theory, perception, learning, planning, and agent design. Students
will program with AI language tools. Additional areas may include
expert systems, machine learning, natural language processing,
and computer vision. For more information, please contact Dr. Renee Renner at 530-898-5419 or at renner@csuchico.edu. CSCI 598 – Advanced Topics in Computer Science: Data Mining (3 Units)
This course currently is not available.
Prerequisites: Classified graduate student standing in Computer Science.
Course Description: This course introduces the student to basic concepts, tasks, methods, and techniques in data mining; in particular, the course focuses on practical machine learning tools and techniques used in data mining. Students will develop an understanding of the data mining process and issues, learn various techniques for data mining, and apply the techniques in solving data mining problems using data mining tools and systems. Students from departments such as Biology, Mathematics, and Electrical & Computer Engineering who are working in interdisciplinary research (e.g., bioinformatics, modeling, data analysis) are especially encouraged to take this course.
Please direct all prerequisite and eligibility questions to Dr. J (Dr. Benjoe Juliano) at Juliano@csuchico.edu . Additional course information is also available at http://www.ecst.csuchico.edu/~juliano/csci682/DataMining/
CSCI 598 – Advanced Topics in Computer Science: Mobile/Wireless with J2ME (3 Units)
[Archived Web-based Course] [Preview]
Prerequisites: C- or better in CSCI 311 - Algorithms and Data Structures, or classified graduate student standing in Computer Science.
Course Description: This course is an introduction to programming for consumer devices, such as mobile phones, PDAs, TV set-top boxes, and other embedded devices. The Java 2 Platform, Micro Edition (J2ME) includes Java virtual machines and a set of standard Java APIs that provide flexible user interfaces, a robust security model, a broad range of built-in network protocols, and support for both networked and offline applications. The J2ME platform is deployed on millions of devices, supported by leading tool vendors, and used by companies worldwide. If you have any questions about this course, contact Dr. Judith Challinger at 530-898-6357 or at jchallinger@csuchico.edu. To see a course syllabus, use this link: http://www.ecst.csuchico.edu/~judyc/0607F-csci598/syllabus.html
CSCI 598 – Advanced Topics in Computer Science: The .NET Framework (3 Units)
[Archived Web-based Course] [Preview]
Prerequisites: Classified graduate student standing in Computer Science.
Course Description: An investigation into the structure and syntax of current programming languages, including binding, scoping, data types, transfer-of-control structures, subprograms, abstract data types, object-oriented programming, and functional programming. In addition to these topics, this course provides an in-depth look at a modern language system: the Microsoft .NET Framework. The key features of the .NET Framework that will be covered include the Common Language Infrastructure (CLI), .Net Assemblies, .NET Metadata, Security, and the Common Language Runtime (CLR). We examine how these features provide programming language interoperability. The .NET Framework Class Library is explored, with a focus on the Base Class Library (BCL). Undergraduates should enroll in CSCI 315, and graduate students should enroll in CSCI 598. Please note that the course assignments for CSCI 598 will differ from those in CSCI 315. If you would like further information or are unsure if you meet the prerequisite for this course, please contact Dr. Judy Challinger at 530-898-6357 or at jchallinger@.csuchico.edu prior to enrolling.
CSCI 611 – Distributed Computing (3 units)
[Archived Web-based Course] [Preview]
Prerequisites: Programming experience
in Java. This could be accomplished through CSCI 511 (Object-Oriented
Programming in Smalltalk and Java) OR one (1) year experience
in Java programming. (The first program uses a substantial program
you should have already written in Java.)
Course Description: Advanced programming in
Java covers programming for both single system software distribution
and across networks/devices. In this course, particularly, we
will cover the advanced topics that a Java programmer will need
to know so that they will be in a position to do commercial
Java development both for single services and for distributed
processes across multiple devices. The course provides an in-depth
coverage of object serialization, Java Beans, XML, Servlets,
JSP's, networking, remote objects (RMI), and distributed computing
through Jini, Java Message Services and JavaSpaces. If you are
unsure if you meet the prerequisite for the course, please contact
Dr. Anne Keuneke at amk@ecst.csuchico.edu or at 530-898-5998 before enrolling.
CSCI 620 – Computer Architecture (3
units)
[Archived
Web-based Course] [Preview]
Prerequisites: CSCI
320 and classified graduate standing.
Provides a thorough and fundamental treatment of the art of
computer architecture. Topics include concepts of von Neumann
architectures, methods of evaluating CPU performance, instruction-set
design and examples, compiler issues, instruction pipelining,
superscalar processors, methods for reduction of branch penalty,
memory hierarchies, I/O systems, floating-point arithmetic,
and current issues in parallel processing. If you are unsure
if you meet the prerequisites for this course, please contact
Dr. Benjoe Juliano at 530-898-4619 or at juliano@ecst.csuchico.edu
prior to enrolling.
CSCI 630 – Software Engineering (3
units)
[Archived Web-based Course] [Preview]
Prerequisites: CSCI
330 and classified graduate standing.
In-depth study and application of the planning, design, implementation,
and management of complex software systems. Topics include requirements
engineering, use case development, object-oriented analysis,
software architecture, design patterns, and more. If you are
unsure if you meet the prerequisites for this course, please
contact Dr. Robert Roggio at broggio2000@yahoo.com
prior to enrolling.
CSCI 639 –
Topics in Software Engineering (3 units)
[Archived Web-based
Course] [Preview]
Prerequisites: CSCI 630 or permission of instructor.
This is the continuation of a two-course sequence addressing
the practical aspects of software development emphasizing object
technology and process. This course continues the topics of
CSCI 630 and includes software architecture, use case design
using Rational Rose or other suitable tools to realize class
and interactive diagrams, design patterns, user interface design,
frameworks, technologies for web-based application development,
code generation, testing, and other related topics. If you are
unsure if you meet the prerequisite for this course, please
contact Dr. Robert Roggio at broggio2000@yahoo.com prior to enrolling.
CSCI 640 – Operating Systems (3 units)
[Archived Web-based Course]
Prerequisites: CSCI 340 and classified graduate standing.
Course Description: In-depth study of operating systems concepts
including results from recent research. Topics may include
processes, threads, virtual memory, file systems, distributed
computing, scheduling, protection, and communication protocols.
Students may be required to implement operating system projects. If you have any questions about this course, please contact Dr. Robert Roggio at broggio2000@yahoo.com prior to enrolling.
CSCI 650 – Design and Analysis of Algorithms
(3 units)
[Archived Web-based Course]
[Preview]
Prerequisites: CSCI 311, MATH 317 (Discrete Mathematical Structures), and classified graduate
standing.
Algorithms from many areas of computer science will be analyzed.
Topics include algorithm design techniques (such as divide-and-conquer,
greedy algorithms, dynamic programming, and others), mathematical
and empirical analysis of algorithms, and NP-completeness. If
you are unsure if you meet the prerequisite for this course
or would like more information, please contact Dr. Anne Keuneke
at 530-898-5998 or at amk@ecst.csuchico.edu
prior to enrolling.
CINS 574 – Advanced Database Architecture and Administration I (formerly CSCI 679 - Workshop I) (3
units)
[Archived Web-based Course] [Preview]
Prerequisites:
Database design experience or CSCI 470 or instructor permission
Course
Description: Students install the latest release of a robust, scalable database system such as Oracle, and create and maintain a sample database. Topics covered include advanced database architecture, intro performance monitoring, network configuration, database security, user management, and backup/recovery techniques with powerful admin tools. Prepares for Oracle Certification. If
you are unsure if you meet the prerequisite for the course,
please contact Dr. Melody Stapleton at
mjstapleton@csuchico.edu or at (530) 898-5617 before enrolling.
CINS 674 – Database Administration II: Advanced Tuning and Recovery (formerly CSCI 679 - Workshop II) (3 units)
[Archived Web-based Course]
Prerequisites : CINS 574 (formerly CSCI 679 -Workshop I) or faculty permission.
Course Description: Students install database software components and create and administer their own example databases. Features hands-on diagnosis and recovery in diverse, complex scenarios using advanced backup and recovery tools. Proactive performance analysis and tuning of applications, storage structures and database processes. Prepares for Adv. Oracle Certification. If you are unsure
if you meet the prerequisite for the course, please contact
Dr. Melody Stapleton at mstapleton@csuchico.edu
before enrolling. Information about the certification exams can be found
at: http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=47#1
CSCI 682 Seminar in Artificial Intelligence: Computer Games (3 units)
[Archived Web-based Course] [Preview]
Course Description: This course focuses on the aspects of Artificial Intelligence used in Game Programming. Intelligence is a factor in game design which is being taken more seriously by game developers and producers than ever before. This course will look at AI in games from the early days of Checkers and Chess to making characters appear more interesting and believable as "living" creatures in today's games. Not just for gamers; topics include knowledge acquisition, decision-making processes, pattern recognition, use of intelligent agents, dealing with adversaries and much more. If you are unsure if you meet the prerequisite for this course or have questions about course content, please contact Dr. Anne Keuneke 530-898-5998 or at amk@ecst.csuchico.edu prior to enrolling.
|