Computer Science (CSCI)

Courses

CSCI 111. Introduction to Computing. 1 Unit.

An introduction to computing for non-computer science majors or those who have no previous programming experience. Introduction to elementary computer theory, algorithmic thinking, terminology and software applications in either a robotics or multimedia context. Offered every fall and spring semester.

CSCI 141. Introduction to Computer Science I. 1 Unit.

An introduction to computer science and object oriented programming with Java. Offered every fall and spring semester. Prerequisite: CSCI 111 or permission of the instructor.

CSCI 142. Introduction to Computer Science II. 1 Unit.

A continuation of CSCI 141, with an introduction to recursion, linked lists, sorting and searching, and object-oriented design. Offered every fall and spring semester. Prerequisite: CSCI 141.

CSCI 190. Special Topics in Computer Science. 1 Unit.

This is an introductory course with varied content designed by faculty to delve into topics that are not typically taught in existing courses. The sophistication and rigor of the content is consistent with courses that are offered in the first year of study in the department.

CSCI 201. Introduction to Computer Organization. 1 Unit.

Hardware organization, assembly and system level programming, macro facilities. Offered every fall semester. Prerequisite: CSCI 141.

CSCI 211. Discrete Structures. 1 Unit.

Boolean algebra and propositional logic, mathematical proofs, finite machines, Turing machines, formal languages, combinatorics, probability. Offered every spring semester. Prerequisite: CSCI 141 and either MATH 141Q or MATH 130 or MATH 125Q.

CSCI 221. Software Development I. 1 Unit.

Implementation of the Object Oriented paradigm using C++ and the Unified Modeling Language (UML). An introduction to the components of the C++ compiler, and the software development life cycle. Offered every fall and spring semester. Prerequisite: CSCI 142.

CSCI 261. Introduction to Scientific Computing. 1 Unit.

Students will develop computational models and simulations related to the sciences – including biology, chemistry, physics, and environmental sciences – and learn how to implement such models numerically by programming, and how to analyze these models and the solutions which they obtain computationally. Offered annually, either fall or spring. Offered every spring semester. Prerequisite MATH 141Q or MATH 131Q.

CSCI 285. Independent Study. 0.5 or 1 Units.

A faculty mentored course designed to cover content not addressed by current courses. By design, the study usually includes only one or two students who are led by a faculty member. Occasionally, an independent study may be used to offer an existing course because of extenuating circumstances. The sophistication and rigor of the content is consistent with courses that are offered in the second or third year of study in the department.

CSCI 290. Special Topics in Computer Science. 1 Unit.

This is an introductory course with varied content. Most of the course will cover content not offered in general programs within the department. The professor will choose the college-level topics to be discussed.

CSCI 301. Operating Systems. 1 Unit.

Study of the components of an operating system. Management of and communication between concurrent processes, virtual memory, scheduling, file management. Offered every spring semester. Prerequisite: CSCI 201.

CSCI 302. Computer Organization and Architecture. 1 Unit.

Organization of major hardware components of a computer; introduction to digital logic and microprogramming: comparison of computer architectures. Offered based on student demand. Prerequisite: CSCI 201.

CSCI 304. Computer Networks. 1 Unit.

This course focuses on the communications protocols used in computer networks: their functionality, specification, implementation, and performance (TCP/IP, Ethernet, Gigabit Ethernet). It also introduces the field of mobile and wireless computing. Offered spring semester. Prerequisites: CSCI 221.

CSCI 310. Computer Graphics. 1 Unit.

Techniques and standard algorithms for creating and animating two- and three-dimensional objects, including lighting, texturing, collision detection, matrix transformations, physics-based animation and SLERPing via quaternions. Offered based on student demand. Prerequisites: CSCI 221.

CSCI 311. Algorithm Analysis. 1 Unit.

A detailed study of algorithm design and analysis, including greedy algorithm, divide and conquer, dynamic programming, backtracking, and branch and bound. Some advanced data structures are introduced. There is an emphasis is on the verification and analysis of time and space complexity. NP theory is introduced. Offered every fall semester. Prerequisite: CSCI 211.

CSCI 321. Software Development II. 1 Unit.

The study of advanced Object Oriented and UML concepts using C++. Design Patterns, the Standard Template Libraries, and basic network communications (sockets, rpc). A continuation of the study of the software development life cycle. Offered every fall semester. Prerequisite: CSCI 221.

CSCI 341. Mathematical Modeling and Computer Simulation. 1 Unit.

An introduction to the development of mathematical models, and the use of computers towards that goal. Topics include model construction, regression, empirical modeling, difference equations and dynamical systems, probabilistic modeling, and Monte Carlo simulation. Offered based on student demand. Prerequisites: MATH 142Q and MATH 211Q, and either CSCI 141 or CSCI 261. Cross-listed as MATH 341.

CSCI 361. Numerical Analysis. 1 Unit.

A study and analysis of common numerical methods used in applied mathematics. Topics include solutions of non-linear equations, the solutions of systems of linear equations, interpolation, numerical integration, and the numerical solution of differential equations. Offered based on student demand. Prerequisite: MATH 142Q, MATH 211Q, and either CSCI 141 or CSCI 261. Cross-listed as MATH 361.

CSCI 371. Compiler Design. 1 Unit.

Principles, techniques and tools for designing a compiler for a procedural language. Offered based on student demand. Prerequisites: CSCI 201 and CSCI 221 and knowledge of C programming.

CSCI 380. Programming Languages. 1 Unit.

Theory and principles of programming language design study of functional and procedural language. Offered based on student demand. Offered based on student demand. Prerequisite: CSCI 221.

CSCI 385. Independent Study. 0.5 or 1 Units.

A faculty mentored course designed to cover content not addressed by current courses. By design, the study usually includes only one or two students who are led by a faculty member. Occasionally, an independent study may be used to offer an existing course because of extenuating circumstances. The sophistication and rigor of the content is consistent with courses that are offered in the third or fourth year of study in the department.

CSCI 390. Special Topics in Computer Science. 1 Unit.

A course designed by faculty to delve into topics that are not typically taught in existing courses. The sophistication and rigor of the content is consistent with courses that are offered in the third or fourth year of study in the department. May be repeated for credit with different content.

CSCI 397. Internship in Computer Science. 0.5 to 1 Units.

Students are expected to complete an internship of varying time length with an outside company or organization. Emphasis is on a relevant learning environment and acquisition of appropriate career skills at a suitable level of authority and responsibility. Prerequisite: Approval of CSCI faculty.Enrollment in an internship course requires students to attend an orientation prior to beginning work at their internship site. For more information regarding internship orientations, please contact Career & Professional Development at career@stetson.edu or 386-822-7315.

CSCI 431. Artificial Intelligence. 1 Unit.

Emphasizes the new-AI. Topics may include decision trees, neural networks, artificial life, genetic algorithms, genetic programming, evolutionary computing, and fuzzy systems. Offered every fall semester. Prerequisite: CSCI 221.

CSCI 471. Theory of Compilation. 1 Unit.

An examination of the concepts of formal languages, automata theory, context free grammars, and Turing Machines. Offered based on student demand. Prerequisite: CSCI 211.

CSCI 485. Independent Study. 0.5 or 1 Units.

A faculty mentored course designed to cover content not addressed by current courses. By design, the study usually includes only one or two students who are led by a faculty member. Occasionally, an independent study may be used to offer an existing course because of extenuating circumstances. The sophistication and rigor of the content is consistent with courses that are offered in the third or fourth year of study in the department.

CSCI 490. Special Topics in Computer Science. 1 Unit.

A course designed by faculty to delve into topics that are not typically taught in existing courses. The sophistication and rigor of the content is consistent with courses that are offered in the fourth year of study in the department.

CSCI 498. Senior Research I. 1 Unit.

Students will select a topic in computer information systems, and work on it in collaboration with a faculty member. The student will develop a statement of the problem to be studied, the methods to be used, and the background information needed to solve the problem. The student will write a project proposal including any preliminary results and present the problem and results to the department. Prerequisite: Any three CSCI courses at the 300 level or above. Writing Enhanced course.

CSCI 499. Senior Research II. 1 Unit.

Students will extend their research project started in CSCI 498. The student will write a final paper, and present the results to the department. Prerequisite: CSCI 498. Writing Enhanced course.