Computer Science/Mathematics Curriculum Pepperdine University

Size: px
Start display at page:

Download "Computer Science/Mathematics Curriculum Pepperdine University"

Transcription

1 Computer Science/Mathematics Curriculum Pepperdine University Background Seaver College is the undergraduate liberal arts college of Pepperdine University. This document describes the curriculum for the major in Computer Science/Mathematics. The college does not offer a major in Computer Science apart from Mathematics. Nor does it offer an advanced degree in either discipline. Historically, Seaver College has emphasized quality teaching at the undergraduate level while encouraging scholarly activity by its faculty especially when it can have a positive impact on the undergraduate experience. Philosophy of the curriculum The curriculum is based on three themes abstraction, integration, and languages and paradigms. Abstraction Abstraction is based on the concept of layers in which the details of one layer of abstraction are hidden from layers at a higher level. A computer scientist uses abstraction as a thinking tool to understand a system, to model a problem, and to master complexity. The ability to abstract cannot be acquired in a single course, but must be developed over several years. Consequently, all courses in the curriculum emphasize the abstraction process, not only as a framework to understand the discipline but also as a tool to solve problems. Integration The curriculum focuses on how well the courses are integrated as opposed to how many courses it has to offer. There are two aspects of integration in the curriculum integration between courses and the integration of theory and practice. Both aspects of integration are important. Without integration between courses the curriculum becomes simply a collection of unrelated facts with no unity based on fundamental principles. The integration of theory and practice not only serves to re-enforce the students understanding of abstract concepts but also provides them with insight and appreciation of the practical solutions at hand. Languages and paradigms Because of the continued evolution of programming languages and paradigms we would do our students a disservice by emphasizing only one programming language or paradigm throughout the curriculum. Students should be multilingual and should experience multiple paradigms in their undergraduate careers. Our curriculum seeks to strike the proper balance between breadth and depth. Too much breadth will not equip students with the detailed skills necessary to solve realistic problems. Too much depth in one language or paradigm will give students a narrow vision that makes it difficult to consider multiple approaches to a problem. The curriculum emphasizes in-depth proficiency the first two years and more breadth the last two years. The balance is achieved by choosing one programming language for the first three semesters and another closely related language for the second semester of the second year. Courses in the third and fourth years introduce other programming paradigms based on different languages. The language choice for the first two years is driven by both pedagogical and practical industry concerns. Pedagogical concerns are important during the first two years, bedcause this is when students begin to form algorithmic thinking patterns and develop problem-solving skills. The criteria are that the programming environment should be simple to learn yet powerful enough to illustrate fundamental concepts of computing. Skill in a practical language is necessary for students to be well equipped for their post graduate careers. The languages for the third and fourth years are chosen for the variety of programming paradigms on which they are based. 1

2 Intended outcomes Upon successful completion of the program, the student should possess a mathematical foundation that underpins all scientific endeavors and especially the discipline of computer science. This foundation is sufficient for graduate work in computer science but not in mathematics a working knowledge of programming paradigms and software design principles, and programming languages that are used to implement them knowledge of fundamental structures in computer science such as computer architecture/organization, operating systems, and computer networks knowledge of a variety of other topics in computer science such as databases, artificial intelligence, and computer graphics. The standard sequence The courses are divided into a first year core, a second year core, and an upper division curriculum. Following is a list of the courses that are taken in the normal sequence. First year Math 220, Formal Methods CoSc 220, Computer Science I Math 210, Calculus I Math 221, Discrete Structures CoSc 221, Computer Science II Second year Math 211, Calculus II CoSc 320, Data Structures Math 212, Calculus III CoSc 330, Computer Systems Phys 210, Physics I Third year Math 330, Linear Algebra Math 460, Automata Theory; or Math 510, Probability and Statistics I CoSc 450, Programming Paradigms CoSc 535, Operating Systems, elective * Fourth year Math 460, Automata Theory; or Math 510, Probability and Statistics I CoSc 475, Computer Networks CoSc 490, Senior Capstone CoSc 525, Computer Organization, elective * *Note: Only one elective required 2

3 The Computer Science minor The Computer Science minor is satisfied by completing a core of five courses plus one elective. Minor core Math 220, Formal Methods CoSc 220, Computer Science I Math 221, Discrete Structures CoSc 221, Computer Science II CoSc 320, Data Structures Minor elective CoSc 330, Computer Systems Math 460, Automata Theory CoSc 450, Programming Paradigms The contract major Seaver College offers an alternative to the established majors for students with at least 30 units of college credit and a minimum grade point average of 2.5. The individualized major is established by faculty approval of a contract that specifies the courses that are to be taken for the contract major. The contract typically specifies courses from two separate disciplines, and includes study in each discipline with more depth than is usual for a minor. The most common contract with computer science as one of its components includes business as its other component, but disciplines as varied as religion, philosophy, art, and music have been included with computer science in the past. The student must complete at least 45 units at Seaver College following the signing of the contract for the individualized major. The computer science part of the contract major is satisfied by completing a core of seven courses plus one elective. Contract major core Math 220, Formal Methods CoSc 220, Computer Science I Math 221, Discrete Structures CoSc 221, Computer Science II CoSc 320, Data Structures CoSc 330, Computer Systems CoSc 450, Programming Paradigms Contract major elective Math 460, Automata Theory CoSc 525, Computer Organization CoSc 535, Operating Systems The courses for the other component of the contract major are established by the faculty from the discipline of the other component. 3

4 Prerequisites The following diagram shows the prerequisite structure of the curriculum. Semester hours are in parentheses. Required courses are shaded with one additional computer science elective plus physics required for the major. The letter m indicates courses required for a computer science minor and the letter c the courses for the computer science part of a contract major. One additional course must be chosen from the set of courses labeled (m) or (c). CoSc 220 (3) Comp. Science I Or concurrent enrollment Math 220 (3) Formal Methods Freshman m CoSc 221 (3) Comp. Science II c Or concurrent enrollment m c Math 221 (3) Discrete Structures Math 210 (4) Calculus I m c m c Sophomore m CoSc 320 (4) Data Structures CoSc 330 (3) Computer Systems (m) c c Math 212 (4) Calculus III Math 211 (4) Calculus II Junior (m) CoSc 450 (4) Prog. Paradigms c Math 330 (4) Linear Algebra CoSc 535 (3) Operating Systems (c) Math 460 (3) Automata Theory (m) (c) CoSc 475 (4) Comp. Networks Or concurrent enrollment Math 510 (4) Prob. & Stat. I Senior * CoSc 525 (3) Comp. Organization (c) CoSc 490 (4) Senior Capstone CoSc 595 (1 to 4) Internship in Comp. *Note: Prerequisite for Internship in Computing is 90 units completed with a minimum 3.0 GPA and committee approval. 4

5 The first year Fall semester Math 220, Formal Methods (3) CoSc 220, Computer Science I (3) The courses in the first year of a computer science curriculum must serve the purpose of laying the foundation for the curriculum as a whole. Formal Methods is one such course. It is designed to teach a sound understanding of proof and a skill in formal manipulation. Its immediate application is to programming methodology. Students will discover that to know how and why a program works, they need to view a program beyond its operational semantics. Understanding how and why a program works is equivalent to proving its correctness. Proof of correctness of a program requires the program itself to be defined as a mathematical entity. Formal Methods provides students with a methodology to set up a program as a mathematical object, build it, prove its correctness, and in the process understand it. It also teaches students to think rigorously, a skill that is valuable in all courses. A combination of operational and mathematical thinking is needed to solve programming problems. In order for the Formal Methods course to be effective, it is necessary to complement it with a course in programming where students learn the operational aspect of programs. This role is fulfilled by the Computer Science I course, which will make use of programming methodology and will serve to re-enforce students understanding of formal methods. The content and purpose of Computer Science I and Formal Methods are integrated. Such integration is designed to provide students with a concrete framework on which they can build and develop their problem solving skills. Currently, the programming environment for Computer Science I and II is the Qt 4 object-oriented class library based on the C++ language. The Qt 4 class library has features that reinforce the ideas from the Formal Methods course. In particular, the library is well documented and includes the Qt 4 assert macro that supports the implementation of pre- and post-conditions for Hoare triples from Formal Methods. The library permits students to begin with the procedural approach to programming, continue through successively higher levels of abstraction, and culminate with the object-oriented paradigm. It therefore satisfies our goal of students learning multiple paradigms in the curriculum. Qt 4 also provides a powerful graphical user interface designer. With this tool, students construct programs that look like professionally developed commercial software. In addition, the Qt 4 system is provided as a free open-source system that runs on MSWindows, MacOS, and Linux computers. Spring semester Math 210, Calculus I (4) Math 221, Discrete Structures (3) CoSc 221, Computer Science II (3) Calculus is a fundamental mathematical tool for the sciences. The calculus course begins a three-semester sequence whose goal is proficiency in using this tool. Discrete Structures presents the abstract mathematical view of fundamental data structures that form the building blocks of an algorithm. The course uses the methodology of its prerequisite course, Formal Methods, to perform complexity analysis and proof of correctness on the algorithms that manipulate data structures. It complements the concurrent Computer Science II course, which teaches the concrete implementation of data structures and algorithms in a specific programming language. The purpose of Computer Science II is to make the transition from the procedural paradigm to the object-oriented paradigm. The steps include recursion, dynamic storage allocation, inheritance, and polymorphism. The course culminates with the implementation of abstract classes using the state design pattern as an application of object-oriented programming. Consequently, students learn abstraction by experiencing layers of abstraction, starting at the lower procedural level and progressing to the higher object-oriented level. 5

6 The second year Fall semester Math 211, Calculus II (4) CoSc 320, Data Structures (4) Data Structures continues the object-oriented paradigm from Computer Science II. The course presents data structures that are essential to programming, such as hash tables, stacks, queues, trees, and graphs, as systems of cooperating objects. This approach gives more depth to object-oriented design principles. The course continues to use an industry mainstream language, C++. Spring semester Math 212, Calculus III (4) CoSc 330, Computer Systems (3) Phys 210, Physics I (5) Computer Systems presents a unified picture of system architecture based on four layers of abstraction: high-order, assembly, operating system, and machine. Each layer has its own language: Java, assembly language, operating system calls, and machine language respectively. The course emphasizes the relationship between the layers by exploring the translation process using finite state machines. A software project to do a translation using the Java programming language enhances students programming skill. The switch from C++ to Java in Computer Systems furthers our goal of students learning multiple languages in the curriculum. Physics I introduces students to the most fundamental of the experimental sciences and to the scientific method. The laws of physics provide an understanding of how physical systems work and are the basis of computer modeling of the physical world. The third year Fall semester Math 330, Linear Algebra Math 460, Automata Theory CoSc 450, Programming Paradigms Linear algebra presents matrix algebra, vector spaces, and linear transformations. Its goal is to provide students with the skill to apply these mathematical tools to problems in computer science such as graphics, computer modeling, and numerical methods. The goal of Automata Theory is to answer the question, What is computability, and what are its limits? Students learn the abstract models that help to answer these questions finite automata, pushdown automata, and Turing Machines. The course prepares students for more advanced work in theoretical computer science and serves as a basis for applied work in language design and compiler construction. Programming Paradigms introduces three major programming models that complement the procedural and object-oriented approaches: the functional, declarative, and concurrent models. Each model is presented in the context of an associated programming language: Lisp, Prolog, and Java respectively. This course furthers the goal of providing experiences in multiple paradigms and languages in the undergraduate curriculum. Spring semester CoSc 535, Operating Systems Operating Systems is a continuation in more depth of the topic introduced in the Computer Systems course. Operating systems are presented as multi-layer components that hide the details of hardware implementation in order to master the complexity of resource management. The course furthers the theme of abstraction in the curriculum and serves as an example of the power of abstraction in software design. 6

7 The fourth year Fall semester Math 510, Probability and Statistics I CoSc 475, Computer Networks Probability and Statistics I introduces continuous and discrete probability distributions. The course provides the student with the mathematical tools to solve problems in computer modeling and performance analysis of computer networks and systems. Computer Networks presents data communication and networking principles based on the seven-layer OSI reference model. It provides students with software and hardware tools to simulate and test various networking environments. It includes the use of mathematical tools from the probability course to construct queueing models for performance analysis of network protocols, furthering the goal of integration between courses in the curriculum. That Computer Networks is a required course in the curriculum is a reflection of the growing importance of networks in our society as exemplified by the ubiquity of the Internet. Spring semester CoSc 490, Senior Capstone CoSc 525, Computer Organization CoSc 595, Internship in Computing The Senior Capstone course centers on a large team-based software project that requires students to integrate their knowledge and experience from previous courses. One component of the course will be content-based whose topic will vary from year to year. Its purpose is to give students an experience that represents what they are likely to encounter in the computer industry. Computer Organization is a continuation in more depth of the topic introduced in the Computer Systems course. The hardware organization of computers is presented in multiple layers of abstraction and includes the logic gate layer, the microprogramming layer, and the machine layer. The course is yet another example of the pervasive theme of abstraction throughout the curriculum. Internship in Computing provides students with a practicum in industry. It serves as a bridge between the academic world and the professional world. 7

8 Math 220 Formal Methods MATH 220. Formal Methods (3) Formal logic as a tool for mathematical proofs. Propositional calculus Boolean expressions, logic connectives, axioms, and theorems. Predicate calculus universal and existential quantification, modeling English propositions. Application to program specification, verification, and derivation. Preliminaries (3 hours) 1.5 Textual substitution 1.0 Leibniz rule and function evaluation 0.5 The assignment statement Boolean expressions (5 hours) 1.5 Syntax and evaluation of boolean expressions 0.5 Equality vs equivalence 1.0 Satisfiability, validity, and duality 2.0 Modeling English propositions Propositional calculus (6 hours) 1.0 Equational logic and inference rules 0.5 Equivalence 1.0 Negation and inequivalence 2.0 Disjunction and conjunction 1.5 Implication Proof techniques and applications (4 hours) 1.0 Monotonicity, deduction theorem, case analysis 0.5 Proof by contradiction 0.5 Proof by contrapositive 2.0 Solving word problems Quantification (4 hours) 0.5 Types 1.0 Syntax and interpretation of general quantification 1.5 General quantification axioms 1.0 Quantification range theorems Predicate calculus (5 hours) 1.5 Universal quantification 1.5 Existential quantification 2.0 Formalizing English statements Predicates and programming (8 hours) 2.0 Specification of programs 2.0 Reasoning about the assignment statement 2.0 Calculating parts of assignments 2.0 Conditional statements and expressions Total: 35.0 hours, excluding holidays, review sessions, and exams 8

9 CoSc 220 Computer Science I COSC 220. Computer Science I (3) Introduction to programming with an object-oriented library using C++. Input/output graphical user interfaces based on the model/view/controller paradigm. Programming constructs sequential, conditional, iterative. Data abstraction abstract data structures, stacks and lists as abstract data types. Procedural abstraction proper procedures, function procedures. Basic algorithms and applications random numbers, iterative array searching and sorting. Prerequisite: MATH 220 or concurrent enrollment. The BlackBox framework (3 hours) 0.5 Text editor 2.5 Languages and grammars, EBNF Graphical user interface (5 hours) 0.5 The output Log as an abstract data structure 0.5 Sequential statements 1.0 Numeric types as abstract data types 0.5 String types as abstract data types 0.5 The assignment statement 1.0 RECORD types 1.0 Interactive input/output with dialog boxes Data abstraction (4 hours) 1.0 Using stacks as abstract data types 2.0 Applications to prefix, infix, and postfix expressions 1.0 Using lists as abstract data types Conditional statements (5 hours) 0.5 Boolean expressions 1.0 IF statements 1.0 Boolean types as abstract data types and check boxes 1.0 Nested IF statements 0.5 ASSERT statements 1.0 CASE statements and radio buttons Text input/output (3 hours) 0.5 The model/view/controller paradigm 1.5 Text input from the focus window 1.0 Text output to a window Loop statements (5 hours) 1.5 WHILE statements 1.5 FOR statements 2.0 Nested loops Procedural abstraction (4 hours) 1.5 Writing function procedures 2.5 Writing proper procedures Basic algorithms and applications (6 hours) 1.0 Random numbers 1.0 One-dimensional arrays, stack and list implementations 2.0 Iterative array searching and sorting 2.0 Two-dimensional arrays Total: 35.0 hours, excluding holidays, review sessions, and exams 9

10 Math 221 Discrete Structures MATH 221. Discrete Structures (3) Application of formal methods to discrete analysis mathematical induction, the correctness of loops, relations and functions, combinatorics, analysis of algorithms. Application of formal methods to the modeling of discrete structures of computer science sets, binary trees. Prerequisite: MATH 220. Set Theory (5 hours) 1.0 Set comprehension and membership 2.0 Set cardinality, subset, complement, union, intersection, difference, power set 1.5 Properties of set operations 0.5 Families of sets, axiom of choice, paradoxes Mathematical induction (6 hours) 1.5 Induction over the natural numbers 1.5 Inductive definitions 1.0 Binary trees 2.0 Correctness of loops Relations and functions (11 hours) 1.0 Tuples and cross products 2.0 Relations, domain, range, product, inverse 1.5 Properties reflexive, irreflexive, symmetric, antisymmetric, asymmetric, transitive 1.5 Equivalence relations, equivalence classes 1.5 Functions determinate, total, one-to-one, onto 1.5 Function inverse 2.0 Partial orders, posets, glb, lub Combinatorial analysis (4 hours) 2.0 Sum and product rules, permutations and combinations 2.0 Pigeonhole principle, applications Recurrence relations (3 hours) 1.5 Homogeneous difference equations 1.5 Closed solutions of inductive definitions Analysis of algorithms (6 hours) 2.0 Space/time complexity 4.0 Asymptotic behavior: big oh, big omega, big theta Total: 35.0 hours, excluding holidays, review sessions, and exams 10

11 CoSc 221 Computer Science II COSC 221. Computer Science II (3) Introduction to object-oriented programming. Recursion basic algorithms, array searching and sorting. Dynamic storage allocation pointer types, linked lists and binary search trees as abstract data types. Classes objects, abstract classes, inheritance and polymorphism, linked lists and binary trees as classes. Prerequisites: MATH 221 or concurrent enrollment and COSC 220. Recursion (10 hours) 2.0 The run-time stack and call tree for procedures 1.0 The run-time stack and call tree for functions 3.0 Recursive functions factorial, summation, binomial coefficient 4.0 Recursive procedures towers of hanoi, binary search, quick sort Dynamic storage allocation (9 hours) 2.0 Pointer types the NEW procedure, pointer assignment 1.0 Linked nodes 3.0 Linked lists as abstract data types iterative and recursive implementations 3.0 Binary search trees as abstract data types iterative and recursive implementations Classes (16 hours) 2.0 Objects and methods using lists and trees as objects 2.0 Building simple objects and writing methods 4.0 Building simple abstract classes, inheritance and polymorphism 4.0 The state design pattern implementation of linked lists 4.0 The state design pattern implementation of binary search trees Total: 35.0 hours, excluding holidays, review sessions, and exams 11

12 CoSc 320 Data Structures COSC 320. Data Structures (4) Abstract data types, classes, and design patterns with C++. Sorting algorithms insertion sort, merge sort, heapsort, quicksort. Linear data structures stacks, queues, linked lists. Hash tables. Trees binary search trees, 2-3 trees, B-trees, abstract syntax trees. Disjoint sets. Graphs search algorithms, spanning trees, Kruskal s and Dijkstra s algorithms. Prerequisite: COSC 221. Introduction (6 hours) 2.0 Procedural features of C Object-oriented features of C Review of asymptotic behavior and recurrences Sorting algorithms (5 hours) 1.0 Insertion sort 1.0 Merge sort 2.0 Heapsort, priority queues 1.0 Quicksort Linear data structures (10 hours) 1.0 Array implementation of stack and queue ADTs 2.0 Pointer implementation of linked lists 1.0 Linked implementation of stack and queue ADTs 2.0 State design pattern for linked lists 4.0 Strategy design pattern for stack and queue ADTs Hash tables (3 hours) 2.0 Collision techniques 1.0 Hashing functions Trees (10 hours) 0.5 Mathematical definitions 1.0 Binary search tree ADTs 3.0 State design pattern for binary search trees trees 1.0 B-trees 1.0 Abstract syntax trees 1.5 Recursive composition design pattern Disjoint sets (2 hours) 2.0 Union and set membership algorithms Graphs (11 hours) 0.5 Mathematical definitions 1.5 Adjacency list and adjacency matrix representations 2.0 Breadth-first and depth-first searches 1.0 Minimum spanning trees 2.0 Kruskal s algorithm 2.0 The shortest path problem 2.0 Dijkstra s algorithm Total: 47.0 hours, excluding holidays, review sessions, and exams 12

13 CoSc 330 Computer Systems COSC 330. Computer Systems (3) A study of computers as multi-level systems. The machine level binary representations, instruction sets, von Neumann machines. The assembly level addressing modes, compiling to the assembly level, language translation principles. The operating system level loaders, interrupts. Prerequisite: COSC 320. The machine level (9 hours) 1.5 Unsigned binary representation 1.5 Two s complement binary representation 1.0 Hexadecimal and character representation 2.0 von Neumann machines 1.5 Character input/output and direct addressing 1.5 Programming in machine language The assembly level (13 hours) 2.0 Assemblers 1.0 Decimal input/output and immediate addressing 1.0 Symbols 1.0 Assignment statements 3.0 Branching instructions and flow of control 3.0 Stack-relative addressing and procedure calls 2.0 Indexed addressing and arrays Language translation principles (9 hours) 2.0 Languages, grammars, and parsing 2.0 Finite state machines 2.0 Implementing finite state machines 3.0 Code generation The operating system level (4 hours) 2.0 Loaders 2.0 Interrupts Total: 35.0 hours, excluding holidays, review sessions, and exams 13

14 Math 460 Automata Theory MATH 460. Automata Theory (3) Theoretical models of computation. Finite automata regular expressions, Kleene s theorem, regular and nonregular languages. Pushdown automata context-free grammars, Chomsky normal form, parsing. Turing machines the halting problem. NP-complete problems. Prerequisite: MATH 221. Finite automata (12 hours) 2.0 Regular expressions 2.0 Deterministic finite automata 2.0 Kleene s theorem 2.0 Nondeterministic finite automata 2.0 Regular and nonregular grammars 2.0 Decidability the pumping lemma Pushdown automata (12 hours) 3.0 Context-free grammars 2.0 Chomsky normal form 3.0 Pushdown automata 2.0 Parsing 2.0 Decidability Turing machines (9 hours) 3.0 Turing machine models 3.0 Reduction 3.0 Decidability the halting problem Computational complexity (2 hours) 2.0 NP-complete problems Total: 35.0 hours, excluding holidays, review sessions, and exams 14

15 CoSc 450 Programming Paradigms COSC 450. Programming Paradigms (4) A study of three programming paradigms and their associated languages: the functional paradigm with Common Lisp, the logical/declarative paradigm with Prolog, and the concurrent processing paradigm with Java. Prerequisite: COSC 221. Functional paradigm with Common Lisp (16 hours) 4.0 Common Lisp syntax, lists, S-expressions, recursion 4.0 Functions, lambda-expressions, closures 4.0 Function mapping, control blocks, lexical scoping, dynamic scoping 4.0 Input/Output, macros, symbolic processing Logical/declarative paradigm with Prolog (15 hours) 3.0 Prolog syntax, unification and variable instantiation, back-tracking 1.0 Declarative and procedural semantics 2.0 Static and dynamic predicates 1.0 Input/Output 4.0 Lists and structures 4.0 Application to artificial intelligence Concurrent processing paradigm with Java (16 hours) 4.0 Java syntax, Java threads 1.0 Process synchronization 2.0 Deadlock, live-lock, and indefinite postponement 2.0 Semaphores 2.0 Monitors 3.0 Synchronization design patterns 2.0 Java event-driven programming Total: 47.0 hours, excluding holidays, review sessions, and exams 15

16 CoSc 475 Computer Networks COSC 475. Computer Networks (4) The theory of computer networks and its applications. Network layers and protocols for the OSI reference model. TCP/IP and the Internet. Network programming using Java. Rudiments of queueing theory. Prerequisites: MATH 510 or concurrent enrollment, COSC 450, and COSC 330. Introduction (4 hours) 1.0 The OSI reference model 3.0 The Java network programming model The physical layer (4 hours) 2.0 Network hardware 2.0 Theoretical basis for data communication The data link layer (6 hours) 3.0 Error detection and correction algorithms 3.0 Data link protocols The medium access sublayer (4 hours) 2.0 Multiple access protocols 2.0 IEEE standards and bridges The network layer (6 hours) 1.5 Routing algorithms 1.5 Congestion control algorithms 1.0 Internetworking 1.0 The network layer in the Internet 1.0 Fragmentation methods The transport layer (5 hours) 2.0 Transport protocols 3.0 The Internet transport protocols (TCP/IP and UDP) The application layer (7 hours) 2.0 Network security 2.0 Domain Name System (DNS) 3.0 Simple Network Management Protocol (SNMP) Distributed programming (7 hours) 3.0 CORBA programming 4.0 Java RMI programming Queueing models (4 hours) 1.5 Homogeneous birth-death processes 2.5 The M/M/1 system Total: 47.0 hours, excluding holidays, review sessions, and exams 16

17 CoSc 490 Senior Capstone COSC 490. Senior Capstone (4) A large software team project based on a topic that may vary from year to year and which builds on one or more of the prerequisites. Possible topics include but are not limited to database, computer graphics, artificial intelligence, compiler construction, distributed computing. Oral presentation required. Prerequisites: COSC 475, COSC 450, MATH 330, and MATH 460. Topic (23 hours) 23.0 A current topic in computer science that builds on one or more of the prerequisites. The topic is the basis of the team project in the other part of the course. The topic will be presented in sufficient depth to be appropriate for a senior level course. It will integrate students prior knowledge and extend their understanding of a subfield of computer science. Team project (23 hours) 23.0 Teams will be organized in groups of two or three students. The scope of the project will be large enough that it cannot be completed by a single person during one semester. Most of the project activities will take place outside the classroom, with class time used for discussion of technical or theoretical questions that arise in the development process and regular progress reports by team members. The final product will include written documentation of the software design and a user manual. Program assessment (1 hour) 1.0 Assessment of computer science/mathematics undergraduate program Total: 47.0 hours, excluding holidays, review sessions, and exams 17

18 CoSc 525 Computer Organization COSC 525. Computer Organization (3) Hardware organization and design. The logic gate level combinational and sequential circuits and devices. The microprogramming level microarchitecture, microprograms. The machine level CPU designs, instruction formats, addressing modes, floating point formats. Parallel architectures. Occasional laboratory sessions. Prerequisite: COSC 330. The logic gate level (13 hours) 2.0 Boolean algebra and logic gates 2.0 Combinational analysis 2.0 Combinational design 2.0 Combinational devices 2.0 Latches and clocked flip-flops 2.0 Sequential analysis 1.0 Sequential design The microprogramming level (12 hours) 1.0 The data section of the CPU 1.0 The control section of the CPU 2.0 Microinstructions timing, sequencing 2.0 Macroinstructions 1.0 Microassembly language 2.0 Microprograms, nanoprograms 1.0 Pipelining 2.0 Cache memory The machine level (7 hours) 2.0 Instruction formats 2.0 Addressing modes 1.0 Flow of control 2.0 IEEE floating point standards Parallel architectures (3 hours) 1.0 Taxonomy of parallel computers 1.0 Single instruction, multiple data architectures 1.0 Multiple instruction, multiple data architectures Total: 35.0 hours, excluding holidays, review sessions, and exams 18

19 CoSc 535 Operating Systems COSC 535. Operating Systems (3) Operating Systems design and implementation process management, device management, memory management, file management, protection and security. Prerequisites: COSC 330 and COSC 450. Overview of operating system concepts (3 hours) 1.5 System calls 1.5 OS structures Process management (7 hours) 2.0 Process synchronization 2.0 Inter-process communication 2.0 Process scheduling policies 1.0 Examples Device management (7 hours) 2.0 Hardware input/output, direct memory access 2.0 Software device drivers 2.0 Deadlocks 1.0 Examples Memory management (7 hours) 2.0 Virtual memory 2.5 Paging algorithms 1.5 Segmentation 1.0 Examples File management (7 hours) 2.0 Low-level files 2.0 Structured files 3.0 Database management systems Protection and security (4 hours) 1.0 Authentication 1.0 Authorization 2.0 Encryption Total: 35.0 hours, excluding holidays, review sessions, and exams 19

20 CoSc 105 Introduction to Programming COSC 105. Introduction to Programming (3) Introduction to programming with C++. Data types numeric, character, the string class, boolean. Input/ output stream classes interactive I/O, file I/O. Programming constructs sequential, conditional, iterative. Functions parameter passing mechanisms, function libraries. Arrays one-dimensional arrays, searching and sorting, two-dimensional arrays. Introduction to classes. The computing environment (1 hour) 0.5 Text editor 0.5 Compiler Data types and input/output (6 hours) Numeric types int, long, float, double The assignment statement 1.0 Operations on numeric types 1.0 Numeric input/output using cin and cout 1.0 Character type and the string class 1.0 Operations on character and string types 0.5 Character and string input/output using cin and cout Programming constructs (12 hours) 1.0 Boolean expressions and the boolean type 1.5 IF statements 1.5 Nested IF statements 1.0 The switch statement 3.0 The while loop 2.0 File input/output using fstream 2.0 The for loop Functions (7 hours) 1.0 Functions that return void 2.5 Parameters passing by value, passing by reference 1.5 Functions that return a value 2.0 Function libraries, separate compilation and reuse Arrays (7 hours) 1.0 One-dimensional arrays 2.0 Search algorithms sequential search, binary search 2.0 Iterative sorting algorithms 2.0 Two-dimensional arrays, applications to vectors and matrices Data abstraction (2 hours) 2.0 Classes Total: 35.0 hours, excluding holidays, review sessions, and exams 20

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions) By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable

More information

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

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.) Computer Science, Bachelor of Science (B.S.) 1 COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.) The Bachelor of Science in Computer Science is built on a rigorous, highly concentrated, accredited curriculum

More information

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

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.) WITH A CONCENTRATION IN CYBERSECURITY Computer Science, Bachelor of Science (B.S.) with a concentration in cybersecurity 1 COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.) WITH A CONCENTRATION IN CYBERSECURITY The Bachelor of Science in Computer

More information

LOGIC AND DISCRETE MATHEMATICS

LOGIC AND DISCRETE MATHEMATICS LOGIC AND DISCRETE MATHEMATICS A Computer Science Perspective WINFRIED KARL GRASSMANN Department of Computer Science University of Saskatchewan JEAN-PAUL TREMBLAY Department of Computer Science University

More information

COMPUTER SCIENCE (CSCI)

COMPUTER SCIENCE (CSCI) Bucknell University 1 COMPUTER SCIENCE (CSCI) Faculty Professors: Xiannong Meng, Luiz Felipe Perrone Associate Professors: Stephen M. Guattery (Chair), Brian R. King, Lea D. Wittie Assistant Professors:

More information

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05 COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05 Unit 1 : LINEAR DATA STRUCTURES Introduction - Abstract Data Types (ADT), Arrays and its representation Structures, Stack, Queue, Circular

More information

SIR C R REDDY COLLEGE OF ENGINEERING

SIR C R REDDY COLLEGE OF ENGINEERING SIR C R REDDY COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY Course Outcomes II YEAR 1 st SEMESTER Subject: Data Structures (CSE 2.1.1) 1. Describe how arrays, records, linked structures,

More information

DEPARTMENT OF COMPUTER SCIENCE

DEPARTMENT OF COMPUTER SCIENCE Department of Computer Science 1 DEPARTMENT OF COMPUTER SCIENCE Office in Computer Science Building, Room 279 (970) 491-5792 cs.colostate.edu (http://www.cs.colostate.edu) Professor L. Darrell Whitley,

More information

COMPUTER SCIENCE AND ENGINEERING (CSEG)

COMPUTER SCIENCE AND ENGINEERING (CSEG) Bucknell University 1 COMPUTER SCIENCE AND ENGINEERING (CSEG) Faculty Professors: Xiannong Meng, Luiz Felipe Perrone Associate Professors: Stephen M. Guattery (Chair), Brian R. King, Lea D. Wittie Assistant

More information

Syllabi of the Comprehensive Examination in Computer Science

Syllabi of the Comprehensive Examination in Computer Science Syllabi of the Comprehensive Examination in Computer Science The material of the comprehensive examination is drawn mostly from the undergraduate curriculum at Kuwait University and is updated to reflect

More information

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

Please consult the Department of Engineering about the Computer Engineering Emphasis. 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

More information

DISCRETE MATHEMATICS

DISCRETE MATHEMATICS DISCRETE MATHEMATICS WITH APPLICATIONS THIRD EDITION SUSANNA S. EPP DePaul University THOIVISON * BROOKS/COLE Australia Canada Mexico Singapore Spain United Kingdom United States CONTENTS Chapter 1 The

More information

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

MSc(IT) Program. MSc(IT) Program Educational Objectives (PEO): MSc(IT) Program Master of Science (Information Technology) is an intensive program designed for students who wish to pursue a professional career in Information Technology. The courses have been carefully

More information

ADMINISTRATIVE MANAGEMENT COLLEGE

ADMINISTRATIVE MANAGEMENT COLLEGE First Semester ADMINISTRATIVE MANAGEMENT COLLEGE BACHELOR OF COMPUTER APPLICATION COURSE OUTCOME (CO) Problem solving techniques Using C CO 1: Understand the basic concepts of programming, software and

More information

COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN

COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN YEAR 1, SEMESTER 1 YEAR 1, SEMESTER 2 Composition I 3 Composition II 3 Calculus I 5 Calculus II 5 Humanistic (Religion) 3 Physics I 5 Total Wellness 2 Statistics

More information

Computer Science (CS)

Computer Science (CS) The University of Alabama in Huntsville 1 Computer Science (CS) CS 100 - INTRO COMPUTERS & PROGRAM Introduction to program design and implementation in the Visual Basic programming language, using hands-on

More information

Computer Science Student Advising Handout Idaho State University

Computer Science Student Advising Handout Idaho State University Computer Science Student Advising Handout Idaho State University Careers, Jobs, and Flexibility The discipline of Computer Science has arisen as one of the highest-paying fields in the last decade; the

More information

MASTER OF SCIENCE IN COMPUTER AND INFORMATION SCIENCE

MASTER OF SCIENCE IN COMPUTER AND INFORMATION SCIENCE DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE Ping Zhang, Ph.D., Interim Department Chairperson Math and Science Building, 1 st Floor 1000 ASU Drive #30 Phone: 601-877-6430 FAX: 601-877-6631 Degrees Offered

More information

Department of Computer Science

Department of Computer Science 158 Department of Computer Science Department of Computer Science Chairperson: Nasri, Ahmad H. Professor: Nasri, Ahmad H. Assistant Professors: Abu Salem, Fatima K.; Attie, Paul C.; Dargham, Joumana B.;

More information

Total No. of Questions : 18] [Total No. of Pages : 02. M.Sc. DEGREE EXAMINATION, DEC First Year COMPUTER SCIENCE.

Total No. of Questions : 18] [Total No. of Pages : 02. M.Sc. DEGREE EXAMINATION, DEC First Year COMPUTER SCIENCE. (DMCS01) Total No. of Questions : 18] [Total No. of Pages : 02 M.Sc. DEGREE EXAMINATION, DEC. 2016 First Year COMPUTER SCIENCE Data Structures Time : 3 Hours Maximum Marks : 70 Section - A (3 x 15 = 45)

More information

SOFTWARE ENGINEERING. Curriculum in Software Engineering. Program Educational Objectives

SOFTWARE ENGINEERING. Curriculum in Software Engineering. Program Educational Objectives Software Engineering 1 SOFTWARE ENGINEERING For the undergraduate curriculum in Software Engineering (http:// www.se.iastate.edu) leading to the degree Bachelor of Science. This curriculum is accredited

More information

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

Computer Science. Computer Science Undergraduate Bulletin. Required Support Courses (7 credits) ENG 271 Technical Communication (4) Computer Science Computer Science College of Science, Engineering & Technology Department of Computer Science 273 Wissink Hall 507-389-2968 Web site: www.cset.mnsu.edu/cs Chair: Steven Case, Ph.D Rebecca

More information

computer science (CSCI)

computer science (CSCI) computer science (CSCI) CSCI overview programs available courses of instruction flowcharts Computer scientists and engineers design and implement efficient software and hardware solutions to computer-solvable

More information

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE A Modern Approach to Discrete Mathematics SIXTH EDITION Judith L. Gersting University of Hawaii at Hilo W. H. Freeman and Company New York Preface Note to the

More information

University of Waterloo Undergraduate Catalog Report Faculty of Mathematics Page No. 1 Run Date 20-AUG-2007 Meeting Number(s) 25

University of Waterloo Undergraduate Catalog Report Faculty of Mathematics Page No. 1 Run Date 20-AUG-2007 Meeting Number(s) 25 Faculty of Mathematics Page No. 1 NEW COURSES (for approval) Computer Science - School of CS 137 ( 0.50 ) LAB, LEC, TST, TUT Programming Principles Review of fundamental programming concepts and their

More information

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

CONCENTRATIONS: HIGH-PERFORMANCE COMPUTING & BIOINFORMATICS CYBER-SECURITY & NETWORKING MAJOR: DEGREE: COMPUTER SCIENCE MASTER OF SCIENCE (M.S.) CONCENTRATIONS: HIGH-PERFORMANCE COMPUTING & BIOINFORMATICS CYBER-SECURITY & NETWORKING The Department of Computer Science offers a Master of Science

More information

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

School of Computing and Information Sciences. Course Title: Data Structures Date: 3/30/2010 Course Number: COP 3530 Number of Credits: 3 Course Title: Date: 3/30/2010 Course Number: Number of Credits: 3 Subject Area: Programming Subject Area Coordinator: Tim Downey email: downeyt@cis.fiu.edu Catalog Description: Basic concepts of data organization,

More information

JAVA PROGRAMMING. Unit-3 :Creating Gui Using The Abstract Windowing Toolkit:

JAVA PROGRAMMING. Unit-3 :Creating Gui Using The Abstract Windowing Toolkit: JAVA PROGRAMMING UNIT-1: Introduction To Java, Getting Started With Java, Applets And Application, Creating A Java Application, Creating A Java Applets, Object Oriented Programming In Java, Object And

More information

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

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE (NON-THESIS OPTION) Master of Science (M.S.) Major in Computer Science (Non-thesis Option) 1 MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE (NON-THESIS OPTION) Major Program The Master of Science (M.S.) degree with a

More information

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

Program Proposal for a Direct Converted Program. BS in COMPUTER SCIENCE Program Proposal for a Direct Converted Program BS in COMPUTER SCIENCE Document Page number Curriculum Sheet p. 2 p. -year Roadmap p. p. 5 Two Year Course Schedule p. 6 (2018 2019 AY and 2019 2020 AY)

More information

About the Author. Dependency Chart. Chapter 1: Logic and Sets 1. Chapter 2: Relations and Functions, Boolean Algebra, and Circuit Design

About the Author. Dependency Chart. Chapter 1: Logic and Sets 1. Chapter 2: Relations and Functions, Boolean Algebra, and Circuit Design Preface About the Author Dependency Chart xiii xix xxi Chapter 1: Logic and Sets 1 1.1: Logical Operators: Statements and Truth Values, Negations, Conjunctions, and Disjunctions, Truth Tables, Conditional

More information

COLLEGE OF THE DESERT

COLLEGE OF THE DESERT COLLEGE OF THE DESERT Course Code CS-009 Course Outline of Record 1. Course Code: CS-009 2. a. Long Course Title: Data Structures and Algorithms b. Short Course Title: DATA STRUCTURES 3. a. Catalog Course

More information

Fundamentals of Discrete Mathematical Structures

Fundamentals of Discrete Mathematical Structures Fundamentals of Discrete Mathematical Structures THIRD EDITION K.R. Chowdhary Campus Director JIET School of Engineering and Technology for Girls Jodhpur Delhi-110092 2015 FUNDAMENTALS OF DISCRETE MATHEMATICAL

More information

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

QuickGuide for SEAS CS Students (New Requirements Beginning Fall 2012) QuickGuide for SEAS CS Students (New Requirements Beginning Fall 2012) This QuickGuide is for SEAS students thinking of majoring or minoring in Computer Science. It explains how the program is structured,

More information

UNIVERSITY OF SOUTH ALABAMA COMPUTER SCIENCE

UNIVERSITY OF SOUTH ALABAMA COMPUTER SCIENCE UNIVERSITY OF SOUTH ALABAMA COMPUTER SCIENCE 1 Computer Science CSC 108 Intro to Computer Science 3 cr An introduction to the major areas of computer science, such as computing systems, the binary number

More information

UNIVERSITY OF SOUTH ALABAMA COMPUTER SCIENCE

UNIVERSITY OF SOUTH ALABAMA COMPUTER SCIENCE UNIVERSITY OF SOUTH ALABAMA COMPUTER SCIENCE 1 Computer Science CSC 108 Intro to Computer Science 3 cr An introduction to the major areas of computer science, such as computing systems, the binary number

More information

CSE 20 DISCRETE MATH. Fall

CSE 20 DISCRETE MATH. Fall CSE 20 DISCRETE MATH Fall 2017 http://cseweb.ucsd.edu/classes/fa17/cse20-ab/ Final exam The final exam is Saturday December 16 11:30am-2:30pm. Lecture A will take the exam in Lecture B will take the exam

More information

QuickGuide for CC, GS, and Barnard CS Students

QuickGuide for CC, GS, and Barnard CS Students QuickGuide for CC, GS, and Barnard CS Students (New Requirements Beginning Fall 2013) This QuickGuide is for Columbia College, General Studies, and Barnard students thinking of majoring or concentrating

More information

Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massac

Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massac Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massachusetts, 2000 Among the many approaches to formal reasoning

More information

Academic and Curriculum Policies

Academic and Curriculum Policies Academic and Curriculum Policies Restricted Electives - These credit hours are included in the curriculum with the intent to enhance the technical skills and knowledge of the student. Students may choose

More information

CSE 20 DISCRETE MATH. Winter

CSE 20 DISCRETE MATH. Winter CSE 20 DISCRETE MATH Winter 2017 http://cseweb.ucsd.edu/classes/wi17/cse20-ab/ Final exam The final exam is Saturday March 18 8am-11am. Lecture A will take the exam in GH 242 Lecture B will take the exam

More information

Academic and Curriculum Policies

Academic and Curriculum Policies Academic and Curriculum Policies Restricted Electives - These credit hours are included in the curriculum with the intent to enhance the technical skills and knowledge of the student. Students may choose

More information

A Survey of Mathematics with Applications 8 th Edition, 2009

A Survey of Mathematics with Applications 8 th Edition, 2009 A Correlation of A Survey of Mathematics with Applications 8 th Edition, 2009 South Carolina Discrete Mathematics Sample Course Outline including Alternate Topics and Related Objectives INTRODUCTION This

More information

COMPUTER SCIENCE. Computer Science 123

COMPUTER SCIENCE. Computer Science 123 Computer Science 123 COMPUTER SCIENCE Natural Applied Sciences Division Jamie Alonzo, Division Dean Division Office, Room 701 Steve Hodges, Program Contact, (831) 479-6494 Aptos Counseling: (831) 479-6274

More information

r=1 The Binomial Theorem. 4 MA095/98G Revision

r=1 The Binomial Theorem. 4 MA095/98G Revision Revision Read through the whole course once Make summary sheets of important definitions and results, you can use the following pages as a start and fill in more yourself Do all assignments again Do the

More information

Computer Science & Engineering (CSE)

Computer Science & Engineering (CSE) Computer Science & Engineering (CSE) 1 Computer Science & Engineering (CSE) Courses CSE 122. Bioinformatics. 2 (GE=B4) Introduction to natural sciences and its interplay with computer science. Description

More information

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Introduction to Algorithms Preface xiii 1 Introduction 1 1.1 Algorithms 1 1.2 Analyzing algorithms 6 1.3 Designing algorithms 1 1 1.4 Summary 1 6

More information

Department Curriculum and Assessment Outline

Department Curriculum and Assessment Outline Department: Computing Year Group: 7 Teaching, learning and assessment during the course: (Weeks, half terms) Think like a computer scientist Shapes, patterns, algorithms and animation Understand the web.

More information

Programme Outcome COURSE OUTCOMES MCA

Programme Outcome COURSE OUTCOMES MCA Programme Outcome PO1: To provide trained human resource for the IT industry. COURSE OUTCOMES MCA MCA 101 : Object Oriented Programming CO1 The students develops a sound approach to problem solving using

More information

Contents. Chapter 1 SPECIFYING SYNTAX 1

Contents. Chapter 1 SPECIFYING SYNTAX 1 Contents Chapter 1 SPECIFYING SYNTAX 1 1.1 GRAMMARS AND BNF 2 Context-Free Grammars 4 Context-Sensitive Grammars 8 Exercises 8 1.2 THE PROGRAMMING LANGUAGE WREN 10 Ambiguity 12 Context Constraints in Wren

More information

CCCCS meeting October 31, Transferring Courses and Students

CCCCS meeting October 31, Transferring Courses and Students CCCCS meeting October 31, 2014 Transferring Courses and Students Louis Steinberg lou@cs.rutgers.edu Based on slides & info from Jerry Richter These slides available a http://www.cs.rutgers.edu/~lou 1 Outline

More information

Systems I: Programming Abstractions

Systems I: Programming Abstractions Systems I: Programming Abstractions Course Philosophy: The goal of this course is to help students become facile with foundational concepts in programming, including experience with algorithmic problem

More information

M.Sc. (Computer Science) I Year Assignments for May Paper I DATA STRUCTURES Assignment I

M.Sc. (Computer Science) I Year Assignments for May Paper I DATA STRUCTURES Assignment I Paper I DATA STRUCTURES (DMCS 01) 1. Explain in detail about the overview of Data structures. 2. Explain circular linked list and double-linked list. 3. Explain CPU scheduling in Multiprogramming Environment.

More information

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims. Lecture 25: Review and Open Problems

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims. Lecture 25: Review and Open Problems CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims Lecture 25: Review and Open Problems Course Overview Programming Concepts Object-Oriented Programming Interfaces

More information

2) Explain in detail about different AVL rotation applied on unbalanced trees.

2) Explain in detail about different AVL rotation applied on unbalanced trees. (DMCS 01) ASSIGNMENT - 1, MAY-2014. PAPER- I : DATA STRUCTURES 1) Define circular queue. Write an algorithm to describe insertion and deletion operation on a circular queue. Illustrate these operations

More information

Course Curriculum for Master Degree in Network Engineering and Security

Course Curriculum for Master Degree in Network Engineering and Security Course Curriculum for Master Degree in Network Engineering and Security The Master Degree in Network Engineering and Security is awarded by the Faculty of Graduate Studies at Jordan University of Science

More information

Department of Computer Science

Department of Computer Science Department of Computer Science The Department of Computer Science offers a Master of Science degree and a Doctor of Philosophy degree in Computer Science. M.S. in Computer Science (p. 1) Ph.D. in Computer

More information

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

COMP 250. Lecture 36 MISC. - beyond COMP final exam comments COMP 250 Lecture 36 MISC - beyond COMP 250 - final exam comments Dec 5, 2016 1 202 Intro Program MATH (prereqs for many upper level COMP courses) 206 Software Systems 273 Computer Systems 250 Intro Comp

More information

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

College of Sciences. College of Sciences. Master s of Science in Computer Sciences Master s of Science in Biotechnology Master s of Science in Computer Sciences Master s of Science in Biotechnology Department of Computer Sciences 1. Introduction\Program Mission The Program mission is to prepare students to be fully abreast

More information

INFORMATION TECHNOLOGY (IT)

INFORMATION TECHNOLOGY (IT) INFORMATION TECHNOLOGY (IT) 202 Old Union Hall, (309) 438-8338 IT.IllinoisState.edu School Director: Mary Elaine Califf. Office: 202 Old Union. Graduate Program Director: Bee Lim. Graduate Faculty: Califf,

More information

Electrical Engineering and Computer Sciences (EECS)

Electrical Engineering and Computer Sciences (EECS) University of California, Berkeley 1 Electrical Engineering and Computer Sciences (EECS) Courses EECS 47D Completion of work in Electrical Engineering 16A 1-3 Units Terms offered: Prior to 2007 This course

More information

MASTER OF ENGINEERING PROGRAM IN INFORMATION

MASTER OF ENGINEERING PROGRAM IN INFORMATION MASTER OF ENGINEERING PROGRAM IN INFORMATION AND COMMUNICATION TECHNOLOGY FOR EMBEDDED SYSTEMS (INTERNATIONAL PROGRAM) Curriculum Title Master of Engineering in Information and Communication Technology

More information

Ph.D. Written Examination Syllabus

Ph.D. Written Examination Syllabus Ph.D. Written Examination Syllabus April 18, 2013 Architecture Syllabus 1. Fundamentals of Instruction Set Architecture (H&P, Appendix B & misc) Classifying ISAs. Memory addresses, storage formats. Basic

More information

Department of Computer Science and Engineering

Department of Computer Science and Engineering Department of Computer Science and Engineering 1 Department of Computer Science and Engineering Department Head: Professor Edward Swan Office: 300 Butler Hall The Department of Computer Science and Engineering

More information

Consolidated version as of 1 October

Consolidated version as of 1 October Note: The following curriculum is a consolidated version. It is legally non-binding and for informational purposes only. The legally binding versions are found in the University of Innsbruck Bulletins

More information

M.Sc. (Previous) DEGREE EXAMINATION, MAY (Examination at the end of First Year) Computer Science. Time : 03 Hours Maximum Marks : 75

M.Sc. (Previous) DEGREE EXAMINATION, MAY (Examination at the end of First Year) Computer Science. Time : 03 Hours Maximum Marks : 75 M.Sc. (Previous) DEGREE EXAMINATION, MAY - 2013 (Examination at the end of First Year) Computer Science Paper - I : DATA STRUCTURES (DMCS 01) Time : 03 Hours Maximum Marks : 75 Section - A (3 15 = 45)

More information

Answer any Five Questions. All questions carry equal marks.

Answer any Five Questions. All questions carry equal marks. PART I, PAPER I (Problem Solving and Programming) 1. What do you understand by function prototype? Differentiate between call by value and call by reference methods of parameters passing to a function

More information

The Timetable should be used to check the term and time a course is offered. Some courses may not be offered every year.

The Timetable should be used to check the term and time a course is offered. Some courses may not be offered every year. CS COMPUTER SCIENCE The Timetable should be used to check the term and time a course is offered. Some courses may not be offered every year. The *L notation indicates that labs are held on alternate weeks.

More information

AP Computer Science AB

AP Computer Science AB AP Computer Science AB Dr. Tyler Krebs Voice Mail: 431-8938 Classroom: B128 Office: TV Studio Characteristics We Value in This Classroom: 1. Respect. (Show respect for everyone and everything.) 2. Integrity.

More information

Complexity Theory. Compiled By : Hari Prasad Pokhrel Page 1 of 20. ioenotes.edu.np

Complexity Theory. Compiled By : Hari Prasad Pokhrel Page 1 of 20. ioenotes.edu.np Chapter 1: Introduction Introduction Purpose of the Theory of Computation: Develop formal mathematical models of computation that reflect real-world computers. Nowadays, the Theory of Computation can be

More information

Al-Balqa Applied University. Prince Abdullah Bin Ghazi Faculty of IT. Department of Computer Science. The Curriculum for the B.Sc.

Al-Balqa Applied University. Prince Abdullah Bin Ghazi Faculty of IT. Department of Computer Science. The Curriculum for the B.Sc. Al-Balqa Applied Department of Computer Science The Curriculum for the B.Sc. Degree in Computer Science /27 Curriculum for the Bachelor Degree in Computer Science 2, 26 The curriculum for the B.Sc. degree

More information

Computer Science Courses

Computer Science Courses Computer Science Courses 1 Computer Science Courses Courses CS 1101. Intro to Computer Science Lab. Introduction to Computer Science Lab First course for students majoring in Computer Science. Introduction

More information

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++ Introduction to Programming in C++ Course Text Programming in C++, Zyante, Fall 2013 edition. Course book provided along with the course. Course Description This course introduces programming in C++ and

More information

STRUCTURE AND SYLLABUS APPROVED IN THE BOARD OF STUDIES MEETING ON 2001 TO BE EFFECTIVE FROM THE ACADEMIC YEAR

STRUCTURE AND SYLLABUS APPROVED IN THE BOARD OF STUDIES MEETING ON 2001 TO BE EFFECTIVE FROM THE ACADEMIC YEAR STRUCTURE AND SYLLABUS APPROVED IN THE BOARD OF STUDIES MEETING ON 2001 TO BE EFFECTIVE FROM THE ACADEMIC YEAR 2000-2001. MCA II SEMESTER Scheme of Evaluation Max. Marks Min. Marks to pass L P C Int. Ext.

More information

Madhya Pradesh Bhoj (Open) University, Bhopal

Madhya Pradesh Bhoj (Open) University, Bhopal Subject- Computer Organisation & System Software Maximum Marks: 20 Q.1 What is Number System? Explain Its Types? Q.2 What is Program Interrupt? Explain it. Q.3 Explain the Floating Point Representation?

More information

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 2. true / false ML can be compiled. 3. true / false FORTRAN can reasonably be considered

More information

1. a) Discuss primitive recursive functions with an example? 15M Or b) Statements and applications of Euler s and Fermat s Theorems?

1. a) Discuss primitive recursive functions with an example? 15M Or b) Statements and applications of Euler s and Fermat s Theorems? MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCE 1. a) Discuss primitive recursive functions with an example? 15M b) Statements and applications of Euler s and Fermat s Theorems? 15M 2. a) Define DFA and NFA

More information

Syllabus for Computer Science General Part I

Syllabus for Computer Science General Part I Distribution of Questions: Part I Q1. (Compulsory: 20 marks). Any ten questions to be answered out of fifteen questions, each carrying two marks (Group A 3 questions, Group B, Group C and Group D 4 questions

More information

Ajloun National University

Ajloun National University Study Plan Guide for the Bachelor Degree in Computer Information System First Year hr. 101101 Arabic Language Skills (1) 101099-01110 Introduction to Information Technology - - 01111 Programming Language

More information

BACHELOR OF SCIENCE IN INFORMATION TECHNOLOGY

BACHELOR OF SCIENCE IN INFORMATION TECHNOLOGY Bachelor of Science in Information Technology BACHELOR OF SCIENCE IN INFORMATION TECHNOLOGY Description and Outcomes The objective of the Bachelor of Science in Information Technology program is to help

More information

Entertainment Computing (http://catalog.uah.edu/undergrad/colleges-departments/science/computer-science/entertainment-computing)

Entertainment Computing (http://catalog.uah.edu/undergrad/colleges-departments/science/computer-science/entertainment-computing) The University of Alabama in Huntsville 1 Computer Science 300 Technology Hall Telephone: 256.824.6088 Email: info@cs.uah.edu The Computer Science department offers the following undergraduate degrees:

More information

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

The Information Technology Program (ITS) Contents What is Information Technology?... 2 The Information Technology Program (ITS) Contents What is Information Technology?... 2 Program Objectives... 2 ITS Program Major... 3 Web Design & Development Sequence... 3 The Senior Sequence... 3 ITS

More information

CLASSIC DATA STRUCTURES IN JAVA

CLASSIC DATA STRUCTURES IN JAVA CLASSIC DATA STRUCTURES IN JAVA Timothy Budd Oregon State University Boston San Francisco New York London Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Paris Cape Town Hong Kong Montreal CONTENTS

More information

«Computer Science» Requirements for applicants by Innopolis University

«Computer Science» Requirements for applicants by Innopolis University «Computer Science» Requirements for applicants by Innopolis University Contents Architecture and Organization... 2 Digital Logic and Digital Systems... 2 Machine Level Representation of Data... 2 Assembly

More information

B.Tech in COMPUTER SCIENCE & ENGINEERING

B.Tech in COMPUTER SCIENCE & ENGINEERING B.Tech in COMPUTER SCIENCE & ENGINEERING Paper - 1 S.No. Unit/Topic NPTEL Link 1. DIGITAL SYSTEM DESIGN Binary Systems: Introduction to Number Systems and conversions. Arithmetic with number systems, Signed

More information

Introductory Combinatorics

Introductory Combinatorics Introductory Combinatorics Third Edition KENNETH P. BOGART Dartmouth College,. " A Harcourt Science and Technology Company San Diego San Francisco New York Boston London Toronto Sydney Tokyo xm CONTENTS

More information

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

Computer Science. Computer Science 213. Faculty and Offices. Degrees, Certificates and Awards. AS Computer Science Degree Requirements Computer Science 213 Computer Science (See Computer Information Systems section for additional computer courses.) Degrees, Certificates and Awards Associate in Science Degree: Computer Science Certificate

More information

UNB SAINT JOHN SENATE CURRICULUM COMMITTEE FACULTY CALENDAR SUBMISSION SUMMARY

UNB SAINT JOHN SENATE CURRICULUM COMMITTEE FACULTY CALENDAR SUBMISSION SUMMARY For office use only by Senate Curriculum Date received by Secretariat office Tracking number assigned UNB SAINT JOHN SENATE CURRICULUM COMMITTEE FACULTY CALENDAR SUBMISSION SUMMARY Faculty: SASE Department:

More information

Computer Science (COMP)

Computer Science (COMP) 2017-2018 Prairie View A & M University 1 Computer Science (COMP) Courses COMP 1003 Digital Communication: 3 semester hours. Efficient communication in the digital world, including multi-media editing,

More information

CSE 1110; U 2.0; Distance Education; Exclusions: CSE 1111; U 3.0; Distance Education; Exclusions: GEC CSE 1112; U 3.0; Exclusions: CSE 1113; U 1.

CSE 1110; U 2.0; Distance Education; Exclusions: CSE 1111; U 3.0; Distance Education; Exclusions: GEC CSE 1112; U 3.0; Exclusions: CSE 1113; U 1. CSE 1110; U 2.0; Introduction to Computing Technology; A course of general interest giving experience with personal computer software, e.g., word processors and spreadsheets; provides fundamental computer

More information

quanüfied Statements; valid well-formed formulas; comparison of propositional and predicate wffs. Exercises

quanüfied Statements; valid well-formed formulas; comparison of propositional and predicate wffs. Exercises Contents Preface xix Note to the Student xxv 1 Formal Logic 1 Chapter Objectives 1 1.1 Statements, Symbolic-Representation, and Tautologies 1 Statements and logical connectives; truth tables; well-formed

More information

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

Computer Science. Computer Science 207. Faculty and Offices. Degrees and Certificates Awarded. AS Computer Science Degree Requirements Computer Science 207 Computer Science (See Computer Information Systems section for additional computer courses.) Degrees and Certificates Awarded Associate in Science Degree, Computer Science Certificate

More information

DIABLO VALLEY COLLEGE CATALOG

DIABLO VALLEY COLLEGE CATALOG COMPUTER SCIENCE COMSC Despina Prapavessi, Dean Math and Computer Science Division Math Building, Room 267 The computer science department offers courses in three general areas, each targeted to serve

More information

Ph.D. in Computer Science (

Ph.D. in Computer Science ( Computer Science 1 COMPUTER SCIENCE http://www.cs.miami.edu Dept. Code: CSC Introduction The Department of Computer Science offers undergraduate and graduate education in Computer Science, and performs

More information

Virtual University of Pakistan

Virtual University of Pakistan Virtual University of Pakistan Department of Computer Science Course Outline Course Instructor Dr. Sohail Aslam E mail Course Code Course Title Credit Hours 3 Prerequisites Objectives Learning Outcomes

More information

STUDENT NUMBER: MATH Final Exam. Lakehead University. April 13, Dr. Adam Van Tuyl

STUDENT NUMBER: MATH Final Exam. Lakehead University. April 13, Dr. Adam Van Tuyl Page 1 of 13 NAME: STUDENT NUMBER: MATH 1281 - Final Exam Lakehead University April 13, 2011 Dr. Adam Van Tuyl Instructions: Answer all questions in the space provided. If you need more room, answer on

More information

M.Sc. (Previous) DEGREE EXAMINATION, MAY (Examination at the end of First Year) Computer Science. Paper - I : DATA STRUCTURES

M.Sc. (Previous) DEGREE EXAMINATION, MAY (Examination at the end of First Year) Computer Science. Paper - I : DATA STRUCTURES (DMCS 01) M.Sc. (Previous) DEGREE EXAMINATION, MAY - 2014 (Examination at the end of First Year) Computer Science Paper - I : DATA STRUCTURES Time : 03 Hours Maximum Marks : 75 Section A (3 15 = 45) Answer

More information

Bachelor of Science Information Studies School of Information Program Summary

Bachelor of Science Information Studies School of Information Program Summary Bachelor of Science Information Studies School of Information Program Summary Students admitted to the program beginning the Summer 2011 semester follow the proposed catalog guidelines below. Program Pre-Requisites

More information

R13 SET Discuss how producer-consumer problem and Dining philosopher s problem are solved using concurrency in ADA.

R13 SET Discuss how producer-consumer problem and Dining philosopher s problem are solved using concurrency in ADA. R13 SET - 1 III B. Tech I Semester Regular Examinations, November - 2015 1 a) What constitutes a programming environment? [3M] b) What mixed-mode assignments are allowed in C and Java? [4M] c) What is

More information

A New Baccalaureate Program in Wireless Engineering. Victor P. Nelson 1, Richard O. Chapman 2, Richard C. Jaeger 1 Auburn University, Alabama

A New Baccalaureate Program in Wireless Engineering. Victor P. Nelson 1, Richard O. Chapman 2, Richard C. Jaeger 1 Auburn University, Alabama A New Baccalaureate Program in Wireless Engineering Victor P. Nelson 1, Richard O. Chapman 2, Richard C. Jaeger 1 Auburn University, Alabama 1. Department of Electrical and Computer Engineering 2. Department

More information