400
Is a work-experience opportunity with the purpose of expanding education by applying accumulated knowledge in computer science/technology. The availability of internships is limited to upper-level students, normally seniors with a 2.5 quality point average. Students are approved individually by the academic department. A contract can be obtained from the Career Services Office in Starvaggi Hall. Internships count as general electives.
Computer science junior or senior standing and permission of the department chair. Internships must be preapproved.
Surveys the relationship between hardware architecture and both systems and applications software. The influence of processor and storage system architecture on software design is also studied.
Junior standing or permission of instructor
Considers the structure of operating systems involving design, implementation, and maintenance. Various types of mainframe, mini, and micro operating systems will be discussed. Some systems programming will be considered.
Is an introduction to the architecture of the microprocessors and Assembly Language. Concepts in digital logic, machine level of data, the assembly level machine organization, memory system organization, interfacing and functional organization are covered. Exercises in Assembly Programming will illustrate some of these concepts.
Gives students an opportunity to plan and implement a significant project using previously obtained analytic and programming skills. Students will be responsible for the proposal, management, implementation, documentation, and communication of the project. Departmental guidance will be available when necessary.
Explores Artificial Intelligence (AI) within the context of special languages used in AI, such as LISP and PROLOG. Basic AI techniques presented include those needed to understand and design simple expert systems. As time permits, topics from the following areas may be investigated: natural language processing, planning, machine learning, neural networks, and various forms of reasoning.
Examines the underlying mathematical models and theories that are the basis of the modern computer. Topics include grammars, types of languages, types of automata, computability, and complexity.
Requires all computer science and computer information science students to write a thesis on an approved topic in computer science. Students must consult closely with a departmental faculty member at each stage in the development of their theses. The thesis will be presented to students in the Junior Seminar.