CSCI 1305 - Wayland Baptist University

advertisement
WAYLAND BAPTIST UNIVERSITY
SAN ANTONIO CAMPUS
SCHOOL OF MATHEMATICS AND SCIENCES
Wayland Mission Statement: Wayland Baptist University exists to educate students in an
academically challenging, learning-focused, and distinctively Christian environment for
professional success and service to God and humankind.
Course Title and Number: CSCI 1305-SA01 Introduction to Computer Science
Term:
Name of Instructor:
Office Phone Number and WBU Email Address:
Office Hours, Building, and Location:
Class Meeting Time and Location:
Catalog Description: Overview of the field of computer science, including concepts of computer
programming with an emphasis on problem solving, critical thinking, logical reasoning, design and
implementation techniques, and testing; background material if needed such as GUI operating system
use and file and directory manipulation; and ethics issues facing computer science
professionals. Programming will be done with a modern language such as Python. Suitable for nonmajors with significant computer experience and for majors with no prior programming
experience. Other students should take COSC 2311.
Prerequisites: None
Required Textbook and Resources: *Choose from the official booklist
Optional Materials:
Course Outcome Competencies: Upon completion of this course the student should be able to:
 Demonstrate grasp of basics of computer use and operation
 Demonstrate comprehension of programming and basic skill
 Understand and describe core areas of the computer science field
 Demonstrate ability to perform problem solving, critical thinking, and logical reasoning
 Understand ethics of computer use for ordinary users and professionals
 Explain the organization and use of networks, including the Internet and the World Wide
Web.
Attendance Requirements: All students are expected to attend all class sessions and are
responsible for knowing the material covered. No quizzes or exams can be made up unless
arrangements prior to the absence have been made. Any student missing more than 25% of the
class will fail the class.
Statement on Plagiarism and Academic Dishonesty: Wayland Baptist University observes a
zero tolerance policy regarding academic dishonesty. Per university policy as described in the
academic catalog, all cases of academic dishonesty will be reported and second offenses will
result in suspension from the university.
Disability Statement: In compliance with the Americans with Disabilities Act of 1990 (ADA),
it is the policy of Wayland Baptist University that no otherwise qualified person with a disability
be excluded from participation in, be denied the benefits of, or be subject to discrimination under
any educational program or activity in the university. The Coordinator of Counseling Services
serves as the coordinator of students with a disability and should be contacted concerning
accommodation requests at (806) 291-3765. Documentation of a disability must accompany any
request for accommodations.
Course Requirements and Grading Criteria: suggested
Homework: There are 10 formal homework assignments to be accomplished on line (with
due dates as specified in schedule above), and associated paper assignments to hand the next
class period after they are assigned. Homework is an important part of your learning, and is
worth 20% of your grade. You may work in groups on homework assignments for the
purpose of discussing problems, however you can be certain that since you cannot confer for
tests and quizzes, you will have better success if you do your own work.
Tests and Quizzes: There are 3 tests & 5 quizzes, worth 45% of your grade. Each quiz/test
shall be taken on the assigned date unless other arrangements are made with me in advance
of the test. Test questions may be taken from the chapter exercises, so it may be profitable to
use these questions as your pool of study/test preparation questions. Note: Once I review the
results of an exam in class, there will be no make-up for it.
Midterm and Final Examinations: The mid-term and final examinations are cumulative
and worth 35% of your grade. The final exam will be administered on Tuesday, February
17, 2015, from 5:30-8:30 pm. This examination is a three-hour, in-class, closed book, and
comprehensive examination. For these tests, I will primarily focus on whether you
understand the processes and concepts taught in the course. Always make your logic and
reasoning clear and show all work for partial credit. For these two exams, I allow students
one 8.5 x 11” piece of paper (not for quizzes and tests). You may use anything written on
this piece of paper, but NO copies/reductions, and it must be your own work—you may not
create a “cheat sheet” for other students. The idea is to allow you a short list of notes as
memory joggers to help you if you get stuck. This paper will be turned in with your midterm or final exam.
Grading:
30%
20%
15%
15%
20%
A: 90 – 100
Chapter Tests
Homework
Quizzes
Midterm
Final
B: 80 – 89 C: 70 – 79 D: 60 – 69 F: Below 60
Students shall have protection through orderly procedures against prejudices or capricious
academic evaluation. A student who believes that he or she has not been held to realistic
academic standards, just evaluation procedures, or appropriate grading, may appeal the final
grade given in the course by using the student grade appeal process described in the
Academic Catalog. Appeals may not be made for advanced placement examinations or
course bypass examinations. Appeals are limited to the final course grade, which may be
upheld, raised, or lowered at any stage of the appeal process. Any recommendation to lower
a course grade must be submitted through the Executive Vice President/Provost to the
Faculty Assembly Grade Appeals Committee for review and approval. The Faculty
Assembly Grade Appeals Committee may instruct that the course grade be upheld, raised, or
lowered to a more proper evaluation.
Tentative Schedule:
Week
Chapter
1
1
2
2
Topics
1. What is computer science?
2. What is an algorithm, program, software,
hardware…
3. Introducing algorithms
4. History of computing from gears to
PDAs
5. Founding of the Internet; Google
6. Seven Big Ideas of Computer Science
(algorithms, abstraction, creativity, data,
programming, internet, and impact.)
7. Some social issues about the Internet
8. Bits and bytes – main memory
9. Boolean Logic
10. Gates and flip-flops
11. Hexadecimal notation
12. Measuring memory
13. Mass storage (history and design)
14. Optical storage systems and CD storage
formatting
15. Flash Memory
16. Representing TEXT
17. Storing and manipulating IMAGES
18. Representing SOUND
19. Binary Notation
20. Analog or digital (which is best?)
21. Storing and manipulating numbers
(two’s complement)
22. Fractions and Floating Point Notation
1. Programming languages – programming
with Python.
2. Currency conversion
3. Programming errors – syntax errors
4. Data compression
5. Compressing IMAGES
6. Compressing AUDIO and VIDEO
7. Communications errors – PARITY and
HAMMING
8. TRANSITION TO MODULE 3
9. Architecture overview and the basics of
a CPU
10. Program storage
11. Cache memory
12. Machine language
3
3-4
4
5
5
6-7
13. Arithmetic and Logic
14. Addressing memory
15. The machine cycle – fetch, decode,
execute.
16. Program versus data
17. Logic Operations
18. Peripheral Devices and Controllers
19. Direct Memory Access, USB, Firewire
20. Communications
21. Input and Output coding with Python
22. Pipelining and multiprocessors
1. A short history
2. Smartphones
3. Software classification
4. Components of an OS
5. Firmware
6. Processing Information and Interrupts
7. Handling Competition and Semaphores
8. Deadlock – death of a process
9. OS Security – Internal and external
threats.
10. TRANSITION TO MODULE 5.
11. Network classifications and topologies
12. Protocols and the “Hidden Terminal”
13. Bridges, switches, and routers
14. Cloud Computing
15. The Internet
16. Internet Applications
17. Multimedia Streaming and Wireless Telephones
18. World Wide Web and Hypertext
(HTML)
19. Servers and Clients
20. Internet Protocols and Software
21. TCP/IP, UDP and OSI Layers
22. Computer Security, Hacking, Viruses,
Encryption and CERT
23. Legal Approaches to Network Security
1. Algorithm Definition
2. Primitives and Programming Language
3. Pseudocode
4. More practice with Python
5. Discovery and Representation of
Algorithms
6. Problem Solving and Program
Development
7. Iterative Structures (searches, loops,
sorts, recursion)
8. Efficiency
1. Early years – a history of programming
languages
2. Beyond the machine and the evolution of
6
8
7
9
8
10
9
11
programming languages
3. Variables and data types
4. Data structures and arrays
5. Control statements (GOTO)
6. Functions
7. Converting language from one to another
8. Development Packages
9. Object-Oriented Programming (OOP)
10. Logic-based Programming
11. TRANSITION TO MODULE 8
12. What is Software Engineering?
13. The Software Lifecycle – Design,
Implementation – Testing – Maintenance
14. Development
15. Modularity and its Particulars (coupling,
binding, etc.)
16. Design Patterns
17. Quality Assurance
18. Documentation
19. A Good Interface
20. Ownership and Liability
1. Data Structures – What are they?
2. Arrays, Lists, Queues
3. Trees, Branches, and Nodes
4. Static versus Dynamic Structures
5. Pointers
6. Storing Arrays, Aggregates, and Lists
7. Storing Stacks and Queues
8. Storing Binary Trees
9. Manipulating Data Structures
10. Customized Data Types
11. Classes and Objects
12. Pointers in Machine Language
MIDTERM EXAM
1. The Significance of Database Systems
2. Schemas
3. Database Management Systems
4. Models
5. Relational Models and SQL
6. Object-Oriented Databases
7. Database Integrity
8. Sequential, Indexed, and Hash Files
9. Data Mining
10. Social Impact of Database Technology
1. Scope of Computer Graphics
2. Modeling Objects and Scenes
3. Rendering, Clipping, Shading
4. Global Lighting
5. Animation
6. Dynamics and Kinematics
1. Intelligence and Machines
10
12
11
2. Turing Test
3. Understanding Images
4. Language Processing
5. Reasoning
6. Representing and Manipulating
Knowledge
7. Learning
8. Genetic Algorithms
9. Artificial Neural Networks
10. Robotics
11. The Consequences of Artificial
Intelligence
1. Functions and their Computations
2. Turing Machines
3. Universal Programming Languages
4. Noncomputable Functions
5. A problem’s “Complexity”
6. Polynomial versus Nonpolynomial
Problems
7. Cryptography and PKI
Extended Computer Science Applications;
Discussion of Social Media and Review for
Final Examination.
During this period, students will present their
PROJECT on social media systems.
Academic Honesty: Disciplinary action for academic misconduct is the responsibility of the
faculty member assigned to this course. The faculty member is charged with assessing the gravity
of any case of academic dishonesty, and with giving sanctions to any student involved.
Important Dates:
Last day to drop without record
Last day to withdraw with “W”
Last day to withdraw with a “WP/WF”
Last Class
This syllabus is only a plan. The teacher may modify the plan during the course. The requirements
and grading criteria may be changed during the course if necessary.
rev. 04/22/15
Download