Please consult the Department of Engineering about the Computer Engineering Emphasis.

Similar documents
COMPUTER SCIENCE (CSCI)

DEPARTMENT OF COMPUTER SCIENCE

COMPUTER SCIENCE AND ENGINEERING (CSEG)

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.)

Department of Computer Science

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.) WITH A CONCENTRATION IN CYBERSECURITY

COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN

computer science (CSCI)

SOFTWARE ENGINEERING. Curriculum in Software Engineering. Program Educational Objectives

The Information Technology Program (ITS) Contents What is Information Technology?... 2

Bachelor of Science Information Studies School of Information Program Summary

Department of Business Information Technology

Computer Science (CS)

Department of Computer Science

BACHELOR OF SCIENCE IN INFORMATION TECHNOLOGY

College of Arts and Letters Interdisciplinary Studies. Program Guide. Version 4 May Program Description and Course Requirements

CONCENTRATIONS: HIGH-PERFORMANCE COMPUTING & BIOINFORMATICS CYBER-SECURITY & NETWORKING

Computer Science. Computer Science 211. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes

QuickGuide for SEAS CS Students (New Requirements Beginning Fall 2012)

Computer Science. Computer Science Undergraduate Bulletin. Required Support Courses (7 credits) ENG 271 Technical Communication (4)

Computer Science 209. A.S. Degree Requirements. Department Offices. Faculty & Offices. Emeritus Faculty. Degrees & Certificates Awarded

Department of Computer Science

224 Computer Science. A.S. Degree Requirements. Department Offices. Faculty and Offices. Emeritus Faculty. Degrees and Certificates Awarded

School of Computing and Information Sciences. Course Title: Data Structures Date: 3/30/2010 Course Number: COP 3530 Number of Credits: 3

The ECE Curriculum. Prof. Bruce H. Krogh Associate Dept. Head.

CRITERIA FOR ACCREDITING COMPUTING PROGRAMS

Information Systems and Tech (IST)

MSc(IT) Program. MSc(IT) Program Educational Objectives (PEO):

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE (NON-THESIS OPTION)

Academic and Curriculum Policies

Program Proposal for a Direct Converted Program. BS in COMPUTER SCIENCE

B.S. INTEGRATED TECHNOLOGY - WEB DESIGN AND DEVELOPMENT/M.B.A.

College of Sciences. College of Sciences. Master s of Science in Computer Sciences Master s of Science in Biotechnology

Academic and Curriculum Policies

College of Arts, Letters, and Education. Special Education and Elementary Education BAE

COMPUTER AND INFORMATION TECHNOLOGY

College of Computing, Engineering & Construction Electrical Engineering Course Descriptions

Computer Science (COMP)

School of Engineering & Computational Sciences

Applied Computer Graphics

Bachelor of Engineering Technology (Electronics & Controls) Curriculum Document. Australian College of Kuwait. (September 2015) BEEF15 - Version 5.

USER EXPERIENCE DESIGN (UXD)

COMPUTER SCIENCE. Undergraduate Program Information. Graduate Program Information. Entrance Requirements for Graduate Study in Computer Science

MASTER OF SCIENCE IN COMPUTER AND INFORMATION SCIENCE

Computer Science Student Advising Handout Idaho State University

COMPUTER SCIENCE. Computer Science 123

PHYSICS. Chair: David Baker. Faculty: Andra Petrean, David Whelan Visiting Faculty: Vince Gregoric Emeriti: Larry Robinson, Donald Salisbury

Computer Science & Engineering (CSE)

Bachelor of Science in Business Administration - Information Systems and Technology Major

Undergraduate Bulletin

DESIGN. College of the Arts. Career Possibilities. Undergraduate Programs. Bachelor of Arts in Design (120 Units) 2014/2015 CSULB Catalog Design 335

School of Engineering and Computational Sciences

COMPUTER ENGINEERING (CPE)

COLLEGE OF THE DESERT

SIR C R REDDY COLLEGE OF ENGINEERING

QuickGuide for CC, GS, and Barnard CS Students

Descriptions for CIS Classes (Fall 2017)

ACCOUNTING (ACCT) Kent State University Catalog

Computer Information Systems (CIS) CIS 105 Current Operating Systems/Security CIS 101 Introduction to Computers

DEPARTMENT OF COMPUTER APPLICATIONS CO 2009 REGULATION

Computer Science. Computer Science 207. Faculty and Offices. Degrees and Certificates Awarded. AS Computer Science Degree Requirements

NGTC Course Catalog / Student Handbook PROGRAMS OF STUDY COMPUTER INFORMATION SYSTEMS COMPUTER INFORMATION SYSTEMS

INFORMATION TECHNOLOGY, BS

DIABLO VALLEY COLLEGE CATALOG

Computer Information Systems (CIS) CIS 105 Current Operating Systems/Security CIS 101 Introduction to Computers

UNIVERSITY OF SOUTH ALABAMA COMPUTER SCIENCE

Department of Electrical and Computer Engineering

Electrical Engineering and Computer Sciences (EECS)

TECHNOLOGY (TEC) 6 hour core: TEC 445 & hours: TEC 437, 438, & hours: TEC hours of electives, selected through advisement

COMP 250. Lecture 36 MISC. - beyond COMP final exam comments

INFORMATION TECHNOLOGY (IT) Old Union Phone: (309) Web address: IT.IllinoisState.edu Director: Mary Elaine Califf.

School of Computing and Information Sciences

NGTC Course Catalog / Student Handbook PROGRAMS OF STUDY COMPUTER INFORMATION SYSTEMS COMPUTER INFORMATION SYSTEMS

UNIVERSITY OF SOUTH ALABAMA COMPUTER SCIENCE

Associate in Science, Computer Information Science

Engineering Technology

INFORMATION TECHNOLOGY (IT)

Department of Computer Science and Engineering

University Core Curriculum Requirements

INFORMATION SYSTEMS, BACHELOR OF SCIENCE (B.S.)

Name: Key: Done In Progress Possible based on prerequisites

Computer Information Systems See Computer Science and Computer Network Engineering & Electronics sections for additional computer courses.

Computer Science Courses

Winthrop University Curriculum Action System. Training and Users Manual

Data Processing at Scale (CSE 511)

Semi-Structured Data Management (CSE 511)

Ph.D. in Computer Science (

DESIGN (DES) Design (DES) San Francisco State University Bulletin

Computer Science/Mathematics Curriculum Pepperdine University

COURSE OUTLINE Survey of Operating Systems

Computing Accreditation Commission Version 2.0 CRITERIA FOR ACCREDITING COMPUTING PROGRAMS

COMPUTER TECHNOLOGY (COMT)

Course Curriculum for Master Degree in Network Engineering and Security

BETHESDA CHEVY CHASE HIGH SCHOOL Career and Technology Education Department

Architectural Technology

Entertainment Computing (

Starting Fall MS Degree Applied Engineering & Technology Management (AETM) Option in Network Security Management (NSM) Major

Information Systems. Courses. Information Systems 1

Computer Science. Computer Science 213. Faculty and Offices. Degrees, Certificates and Awards. AS Computer Science Degree Requirements

Business. Business Education Department Philosophy

Transcription:

COMPUTER SCIENCE Computer science is a dynamically growing discipline. ABOUT THE PROGRAM The Department of Computer Science is committed to providing students with a program that includes the basic fundamentals of the field and allows students the flexibility to pursue in depth many of the diverse areas into which computer science is expanding. This is accomplished by providing both instruction in the theoretical principles and experience with a diverse collection of modern hardware and software technologies. The faculty and students of the department cooperatively carry out research in the areas of web technologies, bioinformatics, networking, educational technology, combinatorial algorithms and mobile computing. COMPUTER RESOURCES The computing facilities at Hope College give the student an opportunity to obtain a rich variety of experiences. The Department of Computer Science supports a laboratory with a network of workstations, which facilitate work with Microsoft Windows, Linux and Mac OSX. These systems provide a window-based user interface, high-resolution graphics, a parallel processing environment and high-speed computation. They are located in a general student laboratory, a research laboratory and a unique laboratory-classroom combination. This laboratory-classroom contains 25 Tablet PCs and is used for all computer science classes to incorporate hands-on laboratory experiences. In addition, the departmental facilities provide access to many other types of computing: tablet PCs, handheld computers and mobile phones. The departmental network is also accessible from residence halls via direct network connection and throughout campus via wireless access. Many personal computers are available for use by students and faculty and are located throughout the campus in dorms and labs. COMPUTER ENGINEERING Please consult the Department of Engineering about the Computer Engineering Emphasis. PREREQUISITE POLICY Many courses in the department have prerequisites listed. A grade of C- or better is required in such courses for the prerequisite to be fulfilled. If a grade below C- has been received, the course requiring the prerequisite may not be taken without the written permission of the instructor and the chairperson of the department. 1 HOPE.EDU/CATALOG 2017-2018 CATALOG

MAJORS The department offers major programs that emphasize problem solving and communication skills and allow students the flexibility to design programs suitable for their interests and goals. Each student's major program, designed by the student and a departmental advisor, includes a core of computer science courses, a strong component of courses in some field to which computer science can be applied and a senior project seminar involving research or software development under the supervision of a member of the Hope College faculty. By following an appropriate major program, students may prepare themselves for graduate study in computer science or careers involving applications programming, systems programming, systems and network analysis, computer graphics, web technology, bioinformatics, mobile computing, teaching, or software engineering. Computer Science The 300-level courses are divided into three different groups: CSCI 361, 385 Computing Foundations CSCI 321, 342, 392 Applications CSCI 336, 354, 376 Systems In order to ensure a breadth of student experience, both the B.A. and B.S. degrees require courses taken from multiple groups. The requirement for a B.A. degree in computer science is a plan of study approved by the department that includes at least 34 credits in computer science courses, not including 140. These 34 credits must include CSCI 112 or equivalent, 225, 235, 245, 255, 265 and 481, and must include at least 8 credits of 300-level courses. At least one 300-level course must be taken from two of the three groups listed above. The requirement for the B.S. degree in computer science is a plan of study approved by the department that includes at least 40 credits in computer science courses, not including 140. These 40 credits must include CSCI 112 or equivalent, 225, 235, 245, 255, 265, 470 and 481, and must include at least 12 credits of 300-level courses. At least one 300-level course must be taken from each of the three groups listed above. MATH 131, 132 and EITHER one 3-credit or 4-credit mathematics course for which 132 is a pre-requisite OR Both MATH 311/312 are required in addition to the 40-credit computer science requirement. A total of 60 credits in the natural sciences must be completed. Mathematics and computer science courses count toward this 60- credit requirement. HOPE.EDU/CATALOG 2017-2018 CATALOG 2

MINORS Computer Science A minor in computer science consists of a minimum of 20 credits in computer science, including CSCI 112, 225 and at least 10 credits from courses numbered higher than 225. CSCI 140 does not count towards a computer science minor. 3 HOPE.EDU/CATALOG 2017-2018 CATALOG

COURSES COMPUTER SCIENCE CSCI 112 - Exploring Computer Science This course explores the discipline of computer science by looking at computer science at many levels, from how the computer represents information digitally to how programs are constructed to take advantage of the capabilities of the machine. Students will be introduced to a variety of topics within the field of computer science, including data representation, computer architecture, operating systems and networks. Credit may not be given for both CSCI 112 and GEMS 163. Terms Offered: Fall Attribute: Natural Science II (NS2) CSCI 140 - Business Computing This course introduces students to the computing skills needed in the completion of the Management and Accounting majors at Hope College and to become a successful computer user in a business career. Students learn the fundamentals of operating systems, spreadsheet processing in Microsoft Excel, and querying relational databases using Microsoft Access. This course may not be counted toward a computer science major or minor. Terms Offered: Fall, Spring Attribute: Natural Science II (NS2) CSCI 150 - Web Design & Implementation Students in this course will learn about the processes used to design and implement web sites that are both functional and aesthetically pleasing. This includes an overview of the user centered development process, including task analysis, user analysis prototyping and usability testing. Several aspects of how to make a site visually attractive will be covered as well. Students will learn the fundamental technologies and tools needed to build a significant web site. A large number of interrelated technologies make up the web, including the Hypertext Transport Protocol, the Hypertext Markup Language, and Cascading Stylesheets. Students will gain a significant amount of experience using these technologies. Terms Offered: Spring Attribute: Natural Science I with lab (NSL) CSCI 195 - Studies in Computer Science A course offered in response to student and instructor interest. Topics are not generally covered in the regular course listings. Course may be taken multiple times if topics are different. Credits Awarded: 0-4 Terms Offered: As Needed HOPE.EDU/CATALOG 2017-2018 CATALOG 4

CSCI 225 - Software Design and Implementation An introduction to the techniques and practices of software design and implementation, including top-down design, object-oriented principles, advanced programming concepts, and the use of software development tools. Students will gain substantial experience with the Java programming language. Terms Offered: Fall, Spring Attribute: Natural Science I with lab (NSL) CSCI 235 - Data Structures and Software Design An introduction to the fundamental data structures of computer science, the design methodologies of software and the basic algorithms for these. Data structures such as stacks, queues, binary trees and priority queues will be included. Software design and development methods such as object oriented design, design patterns and basic algorithm analysis will also be covered. Projects utilizing these data structures and design methods will be completed. Emphasis will be placed on the partnership between algorithms and data structures. Terms Offered: Fall, Spring Prerequisites: Csci 225 with a grade of C- or better CSCI 245 - Programming Language Paradigms This course provides an introduction to several different programming language paradigms and their approaches to problem solving. This will include a system level language utilizing memory allocation and pointers, a scripting language, a functional language and a declarative language. Students will develop programs in these languages. Terms Offered: Fall Prerequisites: Csci 225 with a grade of C- or better CSCI 255 - Introduction to Algorithms & Discrete Structures An introduction to the design and analysis of algorithms along with some of the discrete mathematical structures that are fundamental to the field of Computer Science. This course builds on the data structures topics from Csci 235 by exploring efficient ways of using them to solve problems. Algorithm analysis topics include best, worst, and average case analysis of iterative and recursive algorithms; asymptotic notation; and solving recurrence relations. Algorithm design techniques include brute force, greedy, divide-and-conquer, dynamic programming, and space/time tradeoff. Discrete structures topics include propositional logic, proof techniques (especially induction), sets, matrices, sequences and summations, and basic combinatorics. Terms Offered: Fall Prerequisites: Csci 235 with a grade of C- or better 5 HOPE.EDU/CATALOG 2017-2018 CATALOG

CSCI 265 - Introduction to Computer Organization and Architecture This course provides an introduction to the organization of computer hardware and the architecture of a computer s various hardware components. The course will examine hardware from the bottom up, examining gates, circuits, memory and arithmetic/logic unit organization and microprocessor architecture. The course covers the Boolean algebra needed for digital logic design. It also covers assembly language programming. Terms Offered: Spring Prerequisites: Csci 225 with a grade of C- or better CSCI 295 - Studies in Computer Science A course offered in response to student interest and need. Deals with topics in computer science that are not included in regular courses. Credits Awarded: 1-4 Terms Offered: As needed CSCI 321 - Applications Programming A course in state-of-the-art programming practices. This will include a study of design patterns, and current development tools and techniques. Students work together in teams to design, implement and test substantial applications. Best practices in the development process will be emphasized. Terms Offered: Fall, Even Years of C- or better, Csci 235 with a grade of C- or better CSCI 336 - Computer & Network Security This course provides an introduction to computer and network security by examining security issues, policies, and preventative measures. Topics include threats to networks and operating systems, system software vulnerability, network intrusion, and various types of malware, including viruses and worms. Each vulnerability is accompanied by practices to prevent attack. Terms Offered: Fall, Odd Years of C- or better, Csci 235 with a grade of C- or better, Csci 245 with a grade of C- or better CSCI 342 - Computer Graphics An introduction to the concepts, techniques, algorithms, and data structures used in 2D and 3D computer graphics and image processing. Topics include transformations, clipping, windowing, perspective, hidden lines and surfaces, color, shading, and ray tracing. Terms Offered: Fall, Even Years of C- or better, Csci 235 with a grade of C- or better CSCI 354 - Operating Systems This course provides an overview of operating systems, including operating system functions and support functions for operating systems. Students will gain hands-on experience with the Unix operating system. Students may take Csci 265 either prior to enrollment in or concurrently with the course. Terms Offered: Spring, Even Years Prerequisites: Csci 112 with a grade of C- or better or equivalent, Csci 235 with a grade of C- or better, Csci 245 with a grade of C- or better, Csci 265 with a grade of C- or better Corequisites: Csci 265 HOPE.EDU/CATALOG 2017-2018 CATALOG 6

CSCI 361 - Programming Language Design & Implementation This course provides a study of design and implementation considerations for imperative, object-oriented, functional and declarative programming languages. Students will learn these concepts through hands-on projects building interpreters and compilers for representative languages. Topics include representation of objects and classes, implementation of variable bindings and function calls, lazy evaluation and pattern matching of arguments, and query evaluation. Terms Offered: Spring, Even Years of C- or better, Csci 235 with a grade of C- or better, Csci 245 with a grade of C- or better CSCI 376 - Computer Networking This course provides a study of computer networking architecture and protocols, using the TCP/IP protocol suite as our primary example. We will study application-level protocols such as electronic mail, remote login, and file transfer. We will learn about network management and interconnecting heterogeneous networks. We will study different types of transmission media and media access protocols. Students will gain experience writing client-server applications and network analysis programs. Terms Offered: Spring, Odd Years of C- or better, Csci 235 with a grade of C- or better, Csci 245 with a grade of C- or better CSCI 385 - Advanced Data Structures and Algorithms Study of classical algorithms of computer science, techniques for algorithm design, and analysis of algorithms. Topics include search tree construction, tree balancing techniques, algorithms from graph theory and computational geometry, string matching algorithms, skip lists and hash tables, and techniques for parallel algorithms. Terms Offered: Spring, Odd Years of C- or better, Csci 255 with a grade of C- or better CSCI 392 - Database Systems This course examines database architecture by examining application design and looking at external, conceptual, and internal levels of databases. Topics include the development of queries through query languages; the design of forms and reports; the design and layout of a database; the design and implementation of front-ends; the relational model; protection issues including recovery, concurrency, security, and integrity; distributed database concepts; optimization strategies; storage structures and access methods; and object-oriented databases. Terms Offered: Fall. Odd Years of C- or better, Csci 235 with a grade of C- or better CSCI 470 - Languages and Machines This course examines the theoretical foundations of computer science. It studies the relationship between finite-state machines and various language models. Computability theory is also studied. Terms Offered: Spring, Odd Years of C- or better, Csci 255 with a grade of C- or better 7 HOPE.EDU/CATALOG 2017-2018 CATALOG

CSCI 481 - Senior Project Seminar I Each student will complete a major software or research project, either individually or as a part of a team. Ethical aspects of computer science will be discussed. This course is required of all computer science majors. Senior standing is highly recommended. Terms Offered: Fall of C- or better, Csci 235 with a grade of C- or better CSCI 482 - Senior Project Seminar II Each student will complete a major software or research project, either individually or as a part of a team. Ethical aspects of computer science will be discussed. This course is required of all computer science majors. Terms Offered: Spring of C- or better, Csci 235 with a grade of C- or better, Csci 481, Senior standing CSCI 490 - Research in Computer Science Independent study or research project carried out in some area of advanced computer science or in the application of the computer to another discipline. This project will be carried out under the supervision of one or more designated staff members. Credits Awarded: 0-3 Terms Offered: Fall, Spring Prerequisites: Permission of instructor CSCI 491 - Internship in Computer Science This program offers the student an opportunity to work on a project or an experience approved by the department as being of significance in computer science. This is usually done off campus and the student will have a qualified supervisor at the site of this experience in addition to a faculty advisor. This course is normally open only to senior computer science majors. Credits Awarded: 1-4 Terms Offered: Fall, Spring, Summer Prerequisites: Permission of department internship coordinator CSCI 495 - Advanced Studies in Computer Science A course designated for junior and senior computer science majors which covers an advanced topic in computer science. This course may be repeated for additional credit with a different topic. Credits Awarded: 1-4 Terms Offered: As Needed Prerequisites: Permission of instructor FACULTY & STAFF Cusack, Dr. Charles Associate Professor of Computer Science and Mathematics (2005) Ph.D., University of Nebraska Lincoln, 2000 M.S., University of Nebraska Lincoln, 1998 M.S., Michigan Tech University, 1992 B.S., Michigan Tech University, 1992 DeJongh, Dr. Matthew Professor of Computer Science (2002) M.A., Winebrenner Theological Sem., 1998 Ph.D., Ohio State University, 1991 M.S., Ohio State University, 1986 B.S., Ohio State University, 1985 HOPE.EDU/CATALOG 2017-2018 CATALOG 8

Hilldore, Amanda Lecturer in Computer Science (2001) M.S., University of Illinois Urbana, B.S., Hope College, 2004 Jipping, Dr. Michael Professor of Computer Science (1987) Ph.D., University of Iowa, 1986 M.S., University of Iowa, 1984 B.S., Calvin College, 1981 Johnson, Chris (2002) McFall, Dr. Ryan Professor of Computer Science and Department Chair (2000) Ph.D., Michigan State University, 2000 M.S., Michigan State University, 1995 B.S., Hope College, 1993 9 HOPE.EDU/CATALOG 2017-2018 CATALOG