Undergrad Bulletin Home

  Home      About JCU     Search      Directories      Calendar 
  General Info
Welcome
Calendar
Mission
Admission
Tuition & Financial Aid
Student Life
Centers/Institutes
Endowments
Campus Map
AJCU
  Academics
Liberal Education
College of Arts &    Sciences
Boler School of Business
Concentrations
Preparing for Postgraduate Study
Graduate School
Policies/Procedures
Academic Departments and Programs
  Faculty and     
  Administration
Faculty
Administration
  UNDERGRADUATE BULLETIN 2005 - 2007

Computer Science (CS)

101. TOPICS FROM COMPUTER SCIENCE 3 cr. Computer familiarization course surveying the academic discipline of computer science. Topics include the history and architecture of computers; elementary programming; word processing, spreadsheets, data managers, and graphics packages. Emphasis is on understanding what computers and computer professionals do rather than on learning programming.

201. INTRODUCTION TO COMPUTER SCIENCE I 3 cr. Corequisite or prerequisite: MT 134 or MT 135; corequisite: CS 201L. Basic programming concepts: variables, assignments, conditionals, loops and parameter passing. Object-oriented programming concepts: objects, methods, constructors, inheritance and message-passing. Program design and documentation, algorithmic problem solving.

201L. INTRODUCTION TO COMPUTER SCIENCE LABORATORY 1 cr. Corequisite: CS 201. Programming laboratory intended to provide hands-on experience in applying the programming concepts learned in CS 201. Experience in learning the process of program development, with emphasis on techniques for testing and debugging. CS 201 and CS 201L must be taken together in a single semester.

202. INTRODUCTION TO COMPUTER SCIENCE II 3 cr. Prerequisite: CS 201. Continuation of CS 201. More advanced concepts in object-oriented programming and design and their application to data structures and algorithm analysis. Topics include O-O concepts of polymorphism, overloading, overriding, and genericity, as well as linked lists, stacks, queues, trees, recursion and algorithm comparison using order notation.

280. HOT TOPICS IN COMPUTER SCIENCE 1 cr. Discussion of computer-science issues by faculty and students; ideologies, trends, emerging technologies, and cutting-edge concepts in computer science. Speakers from academia and industry on these topics. Faculty and students select articles for discussion. Students may take Hot Topics courses for credit a maximum of four times.

301. ADVANCED PROGRAMMING 3 cr. Prerequisite: CS 202. Academic credit will be given for either CS 301 or CS 303, but not both. Advanced topics in procedural and object-oriented programming languages, important features for proficient programmers to understand and use. Covers topics not included in the introductory courses, possibly including: pointers and pointer manipulation, advanced program structure and design, multi-exception handling, threaded programs, and advanced data-structures.

303. PROCEDURAL PROGRAMMING WITH C 3 cr. Prerequisite: CS 202. Academic credit will be given for either CS 301 or CS 303, but not both. Procedural or sequential aspects of programming. Topics include functions, pointers, structures, structure charts, top-down and bottom-up design, debugging techniques, separate compilation, and writing modular code without the benefit of language-supported constructs such as objects and inheritance.

309. WEB DESIGN AND PROGRAMMING I 3 cr
. Prerequisite: CS 202. Principles of web page design; HTML, DHTML, XHTML and XML; cascading style sheets; introduction to client-side and server-side programming; Javascript and Perl; integrating Java applets; Java-based XML processing.

310. WEB DESIGN AND PROGRAMMING II 3 cr. Prerequisite: CS 309. Advanced web programming and scripting methods, including Active Server Pages, Python, PHP. Topics selected from web server administration, web agents, security, e-commerce, and others.

320. GUI PROGRAMMING 3 cr. Prerequisite: CS 202 (or 201 and department chair permission). GUI (graphical user interface) allows users to interface with a computational environment using a point-and-click mechanism and minimal typing in the PC windowing systems. GUI is suitable for an application that includes buttons and menus. Fundamentals of writing Windows applications, event-driven programming and the GUI. Includes dialogues, menus, controls, scope and lifetime of variables, data types, objects and instances, MDI, fonts and graphics, the Clipboard and simple file I/O.

373. COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE 3 cr. Prerequisite: CS 202; corequisite or prerequisite: MT 379. Introduction to computer organization and structure, machine language, and assembly language on mainframes and microcomputers; implementation of programming structures and data structures in assembly language.

380. SPECIAL TOPICS IN PROGRAMMING 1 3 cr. Prerequisite: dependent on topic. Investigations of emerging programming technologies and paradigms.

431. MULTI-MEDIA PROGRAMMING 3 cr. Prerequisite: CS 310. Principles of interactive multimedia design; introduction to multimedia documents and authoring via Dreamweaver, Macromedia, and Flash; introduction to interactive television and hypermedia systems, digital media, compression, and synchronization.

451. DATABASE SYSTEMS 3 cr. Prerequisite: CS 320. Entity relationship models: relational and network designs and queries; properties of storage devices; indexing structures; decomposition and normal forms; data security and integrity.

455. COMPUTER COMMUNICATIONS AND NETWORKING 3 cr. Prerequisite: CS 320. Network topologies; physical, data link and network layers; data link protocols; routing algorithms; packet switching.

463. COMPUTER GRAPHICS 3 cr. Prerequisites: MT 233 or MT 379; and CS 202. Fundamentals of two and three dimensional graphics, including graphics hardware, line drawing, raster and vector techniques, circles, curves, rotation, scaling and translation of graphical objects, polygon drawing and filling, parallel and perspective projections, hidden line and surface removal, color, shading and shadows.

465. PROGRAMMING LANGUAGES 3 cr.
Prerequisites: MT 379 and CS 301 (or 303). Comparison of the features of various programming languages; methods of implementation; the imperative, object oriented, functional, and declarative paradigms; programming in several illustrative languages such as LISP, Smalltalk, and Prolog.

467. ARTIFICIAL INTELLIGENCE 3 cr. Prerequisites: MT 379 and CS 301 (or 303). Expression of knowledge using rules, forward chaining, and backward chaining; knowledge representation; limitations of rule based systems; Prolog programming; expert system shells; case studies.

470. SOFTWARE ENGINEERING 3 cr. Prerequisite: CS 320. Senior status and permission of chair. Simulates the environment of the professional software developer working in a team on a large software project, including the requirements analysis, system design, code development, testing, and delivery of a real software product to an independent interested party. Software methods, models, evolving requirements, test plans, software verification, documentation, and scheduling.

471. ALGORITHM ANALYSIS 3 cr. Prerequisites: MT 379 and CS 301 (or 303). Techniques of algorithm design; analysis of efficiency of algorithms; general strategies such as "divide and conquer" and "dynamic programming"; applications to numeric, symbolic, and graph algorithms.

473. LANGUAGE PROCESSORS 3 cr. Prerequisites: MT 379, CS 373, 301 (or 303). Language translators and systems programs: assemblers, macro processors, compilers, linkers and loaders; lexical, syntactic, and semantic analysis.

474. OPERATING SYSTEMS 3 cr. Prerequisites: CS 373 and 301 (or 303). Memory management, job scheduling, interrupts and I/O processing, mutual exclusion, semaphores, deadlock, and distributed systems.

475. TECHNICAL WRITING IN COMPUTER SCIENCE 3 cr. Prerequisite: CS 202. Written communication related to computer science emphasizing clear, concise expression of technical information. Students explore several types of CS writing, including users' guides, help pages, tutorials, mainstream articles, and technical papers; read and analyze example pieces; write, edit, and revise their own and critique other students’ work.

477. DESIGN PATTERNS 3 cr. Prerequisite: CS 320. Object-oriented design skills and techniques. All 23 of the “canonical” design patterns catalogued by Gamma et al., including the creational, structural and behavior classes of patterns. Variations of these patterns, how and where to apply the patterns, and using the patterns together to build larger, more maintainable programs.

478. FORMAL LANGUAGES (MT 478) 3 cr. Prerequisite: MT 341 or 379. Finite and push-down automata and Turing machines. Regular languages, context-free grammars, recursive and recursively enumerable languages. Other topics chosen from Church’s thesis, Gödel numbering, decidability, and recursive functions.

480. SPECIAL TOPICS cr. TBA Reading, reports on, and investigation of selected material and topics.

Download a PDF version of this page

<< Prev | Next >>

John Carroll University —  20700 North Park Blvd — University Heights, OH 44118 — Tel: 216.397.1886  — Admission: 216.397.4294
Copyright      Contact Us     Maps To Campus   Webmaster