>>> Go to current catalog

Course Descriptions

Computer and Information Science Courses

Faculty

Professors: Alan Benander, Barbara A. Benander, Adam M.A. Fadlalla, Chien-Hua (Mike) Lin, Victor M. Matos, Santosh K. Misra (Chair), Toshinori Munakata; Associate Professors: Timothy J. Arndt, Ben A. Blake, David R. McIntyre, Howard Paul, Michael A. Pechura, Iftikhar Sikder, Janche Sang; Assistant Professor: Radha Appan; Term Instructors: Sharen Bakke, Pei-Ying (Laura) Lin, Sanchita Mal-Sarkar.

Course Descriptions

Note: see also IST courses

CIS 151 Invitation to Computing (3-0-3) Prerequisite: None.CIS 151 is an introduction to the principles that form the foundation of computer science for students with no prior background in computing. This course is suitable for students with a non-technical background who wish to study the key principles of computer science rather than just computer programming and those who wish to become a CIS major but want to develop some proficiency before taking CIS 260. Students who have completed CIS 260 with a grade of “C” or higher are not permitted to register for this course.

Many important concepts underlying computer science are covered. This includes the algorithmic foundations of computer science and the expression of algorithms as pseudocode. A number of algorithms are examined and time efficiency of algorithms. Computer hardware concepts are studied including binary numbers, limitations and Boolean logic. Machine language, assembly language and the basic pseudocode/programming language are compared. Operating system concepts, high-level languages, data communication are introduced. The course includes two lecture hours and two lab hours per week. Labs provide experience with the concepts covered in the lectures.

CIS 260 Introduction to Programming (4-0-4). Prerequisite: None. Introduction to the principles of computation, problem solving methods, and algorithm development on a computer using a current object-oriented programming language. Development of good programming style and basic skills of designing, coding, debugging, and documenting programs. Topics include functions, arrays, strings, structures, recursion, file I/O, pointers, and introduction to linked lists. Return to top

CIS 265 Data Structures and Algorithms (4-0-4). Prerequisites: CIS 260, MTH 153 or MTH 181. This is a continuation of CIS 260. Programming and problem-solving skills are further developed by using language features to implement various data structures such as stacks, queues, linked lists, trees, and graphs. Topics include additional programming and problem solving techniques, and sorting, searching, and hashing algorithms. Return to top

CIS 306 Computers and Society(3-0-3). Prerequisite: CIS 265 or IST 203. History of computing and technology, the computer and the individual, privacy issues, legal issues, computer crime, computer security, future of computing. Return to top

CIS 334 Computer Organization (2-0-2). Prerequisite: CIS 265. Foundations of PC architecture and assembly language. Topics include machine language, hardware fundamentals, memory organization, data representation, addressing modes, and introduction to assemblers. This course contains the first half of the material from CIS 335. May not be used to satisfy BSCIS major-field requirements. Return to top

CIS 335 Language Processors (4-0-4). Prerequisite: CIS 265. Foundation of PC architecture and assembly language. Topics include machine language, hardware fundamentals, registers, numbering systems, data definition, and addressing modes. Fundamentals of systems programming including the implementation and use of assemblers, macro processors, linkers, loaders, and compilers. Examples of language processors are studied on various computers. Return to top

CIS 340 C/C++ for Systems Programming (2-0-2). Prerequisite: CIS 265. This course covers the basics of the C/C++ languages and selected standard library functions. Teaches students with a Java background to write C/C++ programs using standard library functions, primarily for use in later system-oriented courses. Return to top

CIS 345 Operating System Principles (4-0-4). Prerequisite: CIS 340. PC architecture and assembly language, including interrupts, I/O handling, and memory management. Study of operating system functions, including the management of computer resources such as processor scheduling, memory management, I/O device scheduling, and file system structure and protection using Unix. Return to top

CIS 368 Object Oriented Design and Programming (4-0-4). Prerequisite: CIS 265. Course provides in-depth coverage of both design and implementation of O-O programs. Students will gain understanding of the tenets of the O-O paradigm; they will design and create advanced O-O programs using a current object-oriented programming language. They will become familiar with pre-defined classes available for the language, and learn how to use them in their own software. Unified Modeling Language (UML) will be introduced as a graphical mechanism for system design. Students also will become familiar with design patterns. Return to top

CIS 408/508 Internet Programming (4-0-4). Prerequisite: CIS 265. Introduces Internet and intranet programming languages such as HTML, XML, Perl, JavaScript and ASP, in the context of building Internet and World Wide Web applications. Also discusses technologies such as Unix, socket programming, remote procedure calls, and web-based application servers. Focuses on best practices enabled by each tool. Return to top

CIS 424/524 Comparative Programming Languages (4-0-4). Prerequisite: CIS 265. A short history of programming languages and styles precedes the study of a comparison of modern programming languages currently in use. The major programming paradigms are surveyed, including procedural, functional, object-oriented, graphical-user-based, and logic programming. Return to top

CIS 430/530 Data Base Concepts (4-0-4). Prerequisite: CIS 265. Concepts of data-base management systems and data-base models, primarily relational. Detailed study of query languages including relational algebra, Structured Query Language (SQL), and Query-by-Example (QBE). Introduction to data abstraction E-R models, normalization theory. Lab experience using a commercial DBMS and its supporting programming environment. Return to top

CIS 433 Systems Analysis(4-0-4).Prerequisite: CIS 430. Introduction to the tools and techniques of object-oriented analysis based on use of the Unified Modeling Language and the Rational Unified Process. System life cycle through the structured system specifications. Tools and techniques of object-oriented design. Return to top

CIS 434 Software Engineering (3-0-3). Prerequisite: CIS 433. Topics in software engineering and performance engineering, including comparison between structured and object-oriented software development, verification and testing, software design for concurrent and real-time systems, and system reengineering for increased performance. Return to top

CIS 438 Client-Server Computing (3-0-3). Prerequisites: CIS 430 . Concepts of client-server architecture, distributed database design, electronic mail and data interchange, distributed programming methodology, and implementation issues. Distributed database and electronic mail applications will be developed in cooperative distributed computing environment. Students will acquire system design knowledge and programming experience in client-server computing applications. Return to top

CIS 443/543 Graphical User Interfaces (3-0-3). Prerequisites: CIS 340, CIS 368; or CIS 459. Graphical User Interfaces for advanced bit-mapped display systems characterized by close interaction with pointing devices. Consideration of both the underlying application programming interfaces as well as the use of a framework of C++ classes. Use of an interactive environment for design and debugging. A specific industry standard system is explored in detail with extensive programming involvement. Return to top

CIS 454/554 Data Communications and Computer Networks (4-0-4). Prerequisites: CIS 345. Data communications: characteristics of physical transmission media, including international standards for data encoding and device interfacing; transmission principles, modems and multiplexors; data link protocols, mechanisms for error detection/correction and flow control; Computer Networks: broad survey of existing networks; network topology; network layers from the ISO OSI reference model; network programming; analytical tools for network analysis and design. Return to top

CIS 457 Computer Graphics (3-0-3). Prerequisite: CIS 265. Investigation of some of the algorithms and graphics programming techniques for the drawing of lines, polygons, circles and ellipses; image clipping, image transformation, fractals and splines. Introduction to 3-dimensional graphics programming.Return to top

CIS 459/559 Object Oriented Programming (3-0-3). Prerequisite: CIS 340. This course teaches the methodology of object-oriented design and programming using the C++ language. The C++ language taught includes built-in data types, pointers, classes, operator overloading, code reusability via simple and multiple inheritance, polymorphism, stream I/O, and the use of class libraries. Return to top

CIS 465 Multimedia (4-0-4). Prerequisite: CIS 368. Multimedia hardware; multimedia objects and their acquisition; applications of multimedia, multimedia tools and techniques; authoring advanced multimedia applications using authoring systems; investigating Windows programs for multimedia applications. Return to top

CIS 467 Introduction to Artificial Intelligence (3-0-3). Prerequisite: CIS 265. The course is an elementary introduction to artificial intelligence, which presents an overview of various domains of the field. Topics studied include search techniques, symbolic algebra, natural language processing, knowledge-based systems, reasoning under uncertainty, machine learning, and some non-symbolic topics such as neural networks and genetic algorithms. Common Lisp, a major symbolic AI language, will also be introduced. Return to top

CIS 480/580Introduction to Computer Architecture (4-0-4). Prerequisite: CIS 335. Logic circuit design concepts including various CPU implementation methods. Architectural features of minicomputers and microcomputers, including processor organization and control, storage addressing, and input/output structures; emphasis on impact on application and system software. Concepts are reinforced through laboratory projects.  Upon successful completion of this course, a student will be able to design a simple microprocessor, understand the design of a modern computer, and program embedded devices.

CIS 485Senior Project (4-0-4). Prerequisites: Senior standing, completion of CIS core.  In this course, students will be expected to design and implement a large group project.  The project will be based on knowledge and skills acquired throughout the students’ tenure as a CIS or CSC major.  Presentations and accompanying reports are required.  Upon successful completion of this course, a student will have learned to work effectively on a large project within a group setting and will have gained experience in reporting on the project during its various stages of development.  In doing so, the student will also gain understanding, through experience, of the important phases of project development:  planning, analysis, design, implementation, and testing. The project will be a substantial addition to the student’s portfolio.

CIS 490/590 Foundations of Computing (3-0-3). Prerequisites: MTH 182, MTH 220, and CIS 335; Mathematics majors may substitute one mathematics course numbered 280 or above for CIS 335. Sets, relations, regular languages, finite automata, context-free languages, pushdown automata, phrase-structure languages, Turing machines, Church's theory, recursion, computability, decidability, computational complexity. Return to top

CIS 491 Professional Internship (1 to 3 credits). Prerequisite: Junior standing and permission of a CIS Department faculty adviser. Corequisite: CIS 490. Work experience in a professional environment. The work performed must extend the academic curriculum and provide a meaningful learning experience in the student’s area of interest. Term paper required. This course may only be taken once. Return to top

CIS 493 Special Topics in Computer and Information Science (1 to 4 credits). Prerequisite: Varies. Special topics of current interest in computer and information science. Content varies each offering. May be repeated. Return to top

CIS 496 Independent Study (1 to 4 credits). Prerequisites: Senior standing, departmental approval. Special research projects in computer and information science. Arranged between student and adviser and subject to departmental approval prior to registration. Return to top

CIS 499 Honors Thesis in CIS (3 credits). Prerequisite: Restricted to senior CIS honors students. The Honors Thesis requires the honors student to conduct a piece of original research in computer and information science under the supervision of a CIS faculty member. The thesis will be presented orally and submitted as a written report. Return to top

Return to top

 

engaged learning

Mailing Address
Office of Undergraduate Studies
Cleveland State University
2121 Euclid Avenue, MC 107A
Cleveland, OH 44115-2214
This site contains files that require the free Adobe Reader to view.