Fundamentals of Computer Science

Similar documents
Computer Organization and Levels of Abstraction

The Course Structure for the MCA Programme

Computer Organization and Levels of Abstraction

Switching to AQA from Edexcel

Outline. policies. with some potential answers... MCS 260 Lecture 19 Introduction to Computer Science Jan Verschelde, 24 February 2016

COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN

Software and Hardware

COMPUTING SUBJECT KNOWLEDGE AUDIT

School of Computer Science

Introduction to Computer Science with Python Course Syllabus

Syllabus for Computer Science General Part I

Teddington School Sixth Form

Switching to AQA from OCR

Scope and Sequence for the New Jersey Core Curriculum Content Standards

Computer Organization and Assembly Language. Lab Session 01

GARDEN CITY UNIVERSITY. Bachelor of Computer Applications SEMESTER- I. Course: CONCEPTS OF PROGRAMMING USING C LANGUAGE CODE: 05ABCAR17111 CREDITS: 04

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

EXPLORE MATHEMATICS TEST

Computer Science Student Advising Handout Idaho State University

A Survey of Mathematics with Applications 8 th Edition, 2009

AP Computer Science A Course Syllabus

GTPS Curriculum Mathematics Grade 8

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013

Edexcel GCSE in Computer Science Microsoft IT Academy Mapping

Sardar Patel University S Y BSc. Computer Science CS-201 Introduction to Programming Language Effective from July-2002

Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates. Invitation to Computer Science, C++ Version, Third Edition

ADMINISTRATIVE MANAGEMENT COLLEGE

Basic Arithmetic (adding and subtracting)

STEM Scholars Radius: STEM Readiness

Connecticut Alternate Assessment: Individual Student Report Performance Literals Mathematics

«Computer Science» Requirements for applicants by Innopolis University

Digital Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Maths. Formative Assessment/key piece of work prior to end of unit: Term Autumn 1


Summary of Course Coverage

Math Lesson Plan 6th Grade Curriculum Total Activities: 302

Computer Science Curriculum Content, KS5

8/16/12. Computer Organization. Architecture. Computer Organization. Computer Basics

YEAR 8 SCHEME OF WORK

Learning Programme Fundamentals of data representation AS Level

SQA Advanced Unit specification: general information for centres

Institute of Engineering & Management

WYSE Academic Challenge Computer Fundamentals Test (State Finals)

CDS Computing for Scientists. Final Exam Review. Final Exam on December 17, 2013

KING FAHD UNIVERSITY OF PETROLEUM & MINERALS COMPUTER ENGINEERING DEPARTMENT

Department Curriculum and Assessment Outline

Contents. Introduction

[CHAPTER] 1 INTRODUCTION 1

Von Neumann Architecture

CURRICULUM CATALOG. CCR Mathematics Grade 8 (270720) MS

Middle School Math Course 3

Introduction to C. Why C? Difference between Python and C C compiler stages Basic syntax in C

MASTER OF ENGINEERING PROGRAM IN INFORMATION

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

7 th GRADE PLANNER Mathematics. Lesson Plan # QTR. 3 QTR. 1 QTR. 2 QTR 4. Objective

Scope and Sequence for the Maryland Voluntary State Curriculum for Mathematics

Lecture 10: Floating Point, Digital Design

-SQA- SCOTTISH QUALIFICATIONS AUTHORITY HIGHER NATIONAL UNIT SPECIFICATION GENERAL INFORMATION

ST MARY S COLLEGE FORM ONE COURSE OUTLINE MATHEMATICS. Term 1. Addition and subtraction. Multiplication and division facts

CMPS Sample Syllabus. DAY SESSION TOPIC COVERED/WORK DONE 1 (Monday) Morning

Course Number 432/433 Title Algebra II (A & B) H Grade # of Days 120

I Year MCA I Semester L T P To C FOUNDATIONS OF INFORMATION TECHNOLOGY

TEACHING & EXAMINATION SCHEME For the Examination COMPUTER SCIENCE. B.Sc. Part-I

GCSE Computer Science for OCR Overview Scheme of Work

Syllabus Form 3. Objectives Students will be able to: Mathematics Department. Revision of numbers. Form 3 Syllabus Page 1 of 7

KS3 Computing - Life Without Levels

LASER s Level 2 Maths Course - Summary

2c. Content of Computer systems (Component 01)

DISCRETE MATHEMATICS

Learning Coding and Math with RoboBlockly Teaching Resource for Grade 7 Math

Hei nz-ottopeitgen. Hartmut Jürgens Dietmar Sau pe. Chaos and Fractals. New Frontiers of Science

CDS Computing for Scientists. Midterm Exam Review. Midterm Exam on October 22, 2013

Table of Contents. Introduction to the Math Practice Series...iv Common Mathematics Symbols and Terms...1

Why Study Assembly Language?

Modesto Junior College Course Outline of Record CMPSC 241

College Technical Mathematics 1

Computer Sc. & IT. Digital Logic. Computer Sciencee & Information Technology. 20 Rank under AIR 100. Postal Correspondence

Computing at Cox Green Curriculum Plan. Key Stage 3 Year 7

Lecture 10: Floating Point, Digital Design

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts. Chapter Overview. Welcome to Assembly Language

Topics. Hardware and Software. Introduction. Main Memory. The CPU 9/21/2014. Introduction to Computers and Programming

IB Computer Science Topic.2-

Prentice Hall Mathematics: Course Correlated to: Colorado Model Content Standards and Grade Level Expectations (Grade 8)

Performance Level Descriptors. Mathematics

ECE 2030D Computer Engineering Spring problems, 5 pages Exam Two 8 March 2012

Objectives. Connecting with Computer Science 2

Muskogee Public Schools Curriculum Map Sixth Grade Math

Integrated Math I. IM1.1.3 Understand and use the distributive, associative, and commutative properties.

COURSE OUTLINE & WEEK WISE BREAKAGE

New Jersey Core Curriculum Content Standards for Mathematics Grade 7 Alignment to Acellus

Outline. elements and behavior executing programs. developing programs use as a calculator converting strings to numbers

Curriculum Catalog

Digital Logic Design Exercises. Assignment 1

Curriculum Catalog

OCR Level 3 Advanced GCE in Computer Science (H446)

Prentice Hall Mathematics: Course Correlated to: Colorado Model Content Standards and Grade Level Expectations (Grade 6)

DEPARTMENT OF COMPUTER SCIENCE

COMP 102: Computers and Computing

Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse

CS 107 Practice Final Exam Spring Instructions: closed books, closed notes, open minds, 2 hour time limit. There are 4 sections.

Transcription:

Fundamentals of Computer Science Course syllabus This course introduces computer science through three of its major fields: hardware systems (physical components, digital logic, and computer ), theory and algorithms (Boolean algebra, binary arithmetic, and theory of computation), and software systems (languages, compilers, computer graphics, operating systems, and computer networks.) Programming assignments are used as means to introduce and reinforce fundamental computing concepts, as well as computer programming skills that are useful beyond this course. The course provides elements now essential to understand and effectively interact with the information technology infrastructure of today s world. SESSION TITLE Topics ACTIVITIES OPTIONAL ACTIVITIES/TOPICS 1 Course Introduction Course review General aspects Class style and policies Learning material review. Introduction to CS Problem solving in CS Evaluation of preliminary knowledge in Computer Science and Programming Administrative tasks Reading: What is CS by Eric Suh. Icebreaker Group discussion: Learning expectations from the course Interaction with programming environment Python through examples Creation of simple programs Instruction(s) for data output Testing the programming environment. Hello world Add two numbers. The Avatar (Making figures with characters) Instruction(s) for data input Use of variables Free hands-on activity 2 Introduction to computer programming Instructions for data output and data input. Variables and lists Operators and hierarchy Boolean expressions Characters and strings Conditional and iterative statements Random number generation Libraries User defined functions Question prompt What is your name? What is your age? The Writer (madlib) Geometric figures generated by loops (diagonals, back diagonals, triangles, rectangles, perimeters) The Fortune Teller 99 bottles of root beer 12 days of Christmas Rock, paper, scissors. Common algorithms: Fibonacci, factorial, largest number, average Flowcharts Binary numbers Introduction to ASCII code Introduction to binary numbers Programming converters between binary and decimal numbers. Conversions between binary and decimal numbers Encoded messages: Exercise on ASCII and Hexadecimal Binary

binary numbers Bitmapped characters (decimal to binary exercises) Programming exercises: Binary decimal converter. Bitmapped characters decoders. 3 Data representation Representation of numbers Representation of symbols and strings Representation of images Representation of audio Demonstration of image quality according to amount of bits per pixel. Demonstration of analog signals vs. digital ones. Demonstration of audio quality according to amount of bits per sample. Demonstration of analog audio: vinyl recording. Demonstration of digital recording: audacity samples. Binary representation of decimal numbers with fractional part. (Fixed point vs. floating point.) Data manipulation Experiments to modify media files to observe impact on quality. Bitmapped-image viewer Image editor to modify bits per pixel. Audio editor to modify sampling rate and bits per sample. Reading: The Greatest Mystery in Modern Science, by Chazelle 4 Fundamental ideas Boolean algebra Fundamental ideas in CS Boolean algebra Truth tables Binary system: place value system, operations, conversions Digital circuits Binary circuits to perform arithmetic operations Examples of fundamental ideas. Boolean algebra symbols and examples. Relationship between Boolean algebra and binary system. Logic gates Binary arithmetical and circuits for addition Reading: The Rope and Pulley Wonder, by Dewney.

Digital circuits simulation I Introduction to MMLogic (digital circuit simulator) Simulation exercises: MMLogic experiments Testing logic gates Verifying Boolean laws Implementing binary adders 5 Boolean algebra and logic circuits II Combinational logic Circuits and truth tables Circuits for arithmetic. Logic gates and multiplexors Binary arithmetic: half adder, full adder, 3-bit adder. Fundamentals of ALU design Subtraction and two s complement Video on integrated circuit making. Digital circuits simulation II Binary circuits to perform arithmetic operations MMLogic experiments General Review (Sunday session) Movie analysis Computational elements in Disney s Tron CGI, operating systems, CPU, bugs, virus, antivirus, software, simulation, etc. 6 Computer Computer parts review Computer fundamentals von Neumann model: Stored program concept, data-driven machine, etc. CARDIAC (educational computer model) Assembly language exercises. Computer Implementing CARDIAC virtual machine Making assembly programs for CARDIAC virtual machine Absolute value Integer division Sign function Add first N naturals 7 Numeric-intensive computing I Common series Numerical approximation by Taylor series Exercises on numerical series Approximation of irrational numbers

Implementation of numerical approximation through iterative structures Harmonic series Zeno s dichotomy Approximation of PI, e, etc 8 Advanced topics I Library research and readings WWW: WATCH by Sawyer (Chapter 1) The Rope-And-Pulley Wonder by Dewney. The Turing Omnibus by Dewney Computer Organization by Feynman Why programs fail by Zeller Computer Networks by Kurose Computer Architecture by Hennesy Intelligent machines by Alan Turing The Pattern on the Stone by Hillis Great Ideas in Computer Science by Biermann A.I. for Games by Fenge How to Program by Computer by Dromey The Tinkertoy Computer by Dewney. The Best of Byte Program Design with Pseudocode by Bailey A Hitchhiker Guide to Virtual Reality by McMenemy The Advent of the Algorithm by Berlinsky Creative Evolutionary Systems by Bentley Nine Algorithms that Changed the Future by MacCormick Fundamentals of Natural Computing by Nunes The Limits of Computing by Walker Why Programs Fail by Zeller Computer generated imagery (CGI) Computer graphics Memory and CGI CGI evolution Movie analysis: Computer generated Imagery (CGI) in Pixar s short films Raster vs. vector graphics. Mathematics of 2D images 3D transformations Raytracing 9 Numeric-intensive computing II (Graphics) Graphic mode, Coordinate systems, Plotting formulas Plotting linear and quadratic equations Parametric curves Image display 10 Advanced topics II Turtle geometry Recursion Recursive definitions Fractal geometry Introduction to formal grammars Exercises with the Logo programming language. Picture generation through formal grammars Classic geometric exercises solved with turtle geometry Implementing recursive functions in Logo Generating fractal shapes through recursion (Snowkfake, Sierpinski, etc.) Generating grammar-based skylines ( Manhattan skylines ) General Review (Sunday session) Advanced topics III Elements of formal grammars Elements of graph theory From formal grammars to computer languages Graph theory apply to maze solving

Cryptography Caesar s cipher 11 Theoretical Computer Science Automata Cellular automata Pseudo-random number generation Abstract notion of graphs, automata and finite state machine Conway s Game of Life (introduction and prototyping) Discussion of final projects Brainstorming Initial planning Integration of programming elements required Research topic General requirements Decision-based game: adventure Virtual pet Computer electronics and microcontrollers Mobile computing applications Games involving simulation or random numbers. Arduino controlled mobile-robot(c- Language) Game on MIT App Inventor for Android (visual language) 12 Theory of computation Computability Turing machine Formal definition of algorithm Algorithm complexity Operating systems and networking Simple computers equivalent to Turing machines Machine language and compilers Halting problem. Examples on complexity. Examples on complexity. development (Hands-on sessions) Implementing project major features Documenting project Feedback 13 development (Hands-on sessions) Implementing project details Create project context Preparation of: presentation, webpage, report, etc. Project review 14 conclusion Oral report 15 Course conclusion Course review. Final assessment of student s progress Notes: Each entry provides a general description on the main topic to be studied and activities to be performed. Topics indicate specific points to be discussed during the session. In general, session refers to in-classroom meetings during the morning. s are activities to be held in a computer laboratory, and are aimed at promoting student-paced learning and opportunities for individual feedback. Evening session will give students additional time to complete lab work, and also promote analysis of topics presented during the day. Development of personal endeavors will be encouraged during this time.