CSCI 125 Introduction to Computer Science

Fall 2015


** Schedule may change depending on our needs **

Week
Starting

Monday

Wednesday

Friday

8/24 Take Roll (Remember 1st Day Attendance Rule!)

Go over what the class is about and the Syllabus

Does everyone have access to the companion web site?  Hopefully yes, I'll be putting up some assignments from there.

We'll talk about computing resources available at Edinboro

If time we'll Start Chapter 1 - The Big Picture


We'll also talk about what it is to be a Computer Science Major.
Continue With Chapter 1

Computer Science club site www.eupcs.org
Continue with Chapter 1
8/31 Binary Values & Number Systems - Chapter 2

Continue with Chapter 2 Chapter 2
9/7 Labor Day -  no class on Monday Chapter 3 - Data Representation Logic Diagram Builder
9/14 Chapter 3

Chapter 4 - Gates and Circuits

I'd like to go over some questions in the back, build some circuits


Remember:

  • Pay attention to the idea of an algorithm
  • Pay attention to the idea of objects

Logic Problem


Instruction Set Link

Link to logic circuit builder

9/21

Chapter 4

Good page on converting from boolean table to an experssion and reducing.

 

Exam Review

Friday Sept. 25 

Exam #1 - Chapters 1 through 5 4 inclusive.

** Note the change in the material for the 1st Exam.  from 1 through 5 to 1 through 4

9/28

Chapter 5 - Computing Components

What is a Kilobyte?

Chapter 6 - Low-Level Programming Languages and Pseudo code

Pep/8 Simulator

- talk about program design.
10/5

Write your name

 Convert your first name to Hex
As shown in class

 

Chapter 7 - Problem Solving and Algorithms

How to write and design an algorithm

10/12 Ch 7

We'll do some group Algorithm development in Pseudo code:

1. Fill up an Array from a file
2. Add an element to that Array
3. Remove an element from the Array
4. Add an element to a Sorted Array

Ch 7
10/19 Chapter 8 - Abstract Data Types and Subprograms

  Finish Chapter 8
10/26 Review for the exam:

1. Read book
2. Review all the terms!!
3. Look at all/most of the questions
4. Do the cross word on the companion site
5. Look at the on-line questions
6. Remember what the instructor focused on during the lectures!!!
Wednesday October 28th   Exam #2 Chapters 5 - 8
Chapter 9 - Object-Oriented Design and High-Level Programming Languages
11/2

Continue Chapter 9

Continue Chapter 9

Chatper 10

Chapter 10 - Operating Systems

11/9 Chapter 10 - Operating Systems

Ch 10

 Chapter 11 - File Systems and Directories

11/16 Finish chpater 11 Prolog exercise

Make a prolog program that represents your family
there is a decent online intrepreter at
http://swish.swi-prolog.org/

Chapter 12 - Information Systems

The world runs on Databases!!

More database examples -> video store

11/23

Chapter 15 Networking

I may try to touch on these topics within the next few weeks before the end of the semester:

Thanksgiving Break
No Class
Thanksgiving Break
No Class  
11/30

Not much time left, I think we should limit our focus to Networking and Security.

 

 

Some of Chapter 14 -Probably not all of it

Chapter 17 - Computer Security

Chapter 16 - Web

Review

Final Exam:

10:00 AM Class -> Monday @ 10:15 -12:15
11:00 AM Class ->Wednesday @ 10:15 - 12:15

It will cover material from chapters 9,10, 11,12 and 15.


Assignment Description

Chapters
1, 2, & 3

Due 9/16

Answer the following Questions :
  1. Define abstraction as to how it relates to computer hardware and programming languages
  2. List and define the major subject areas of Computer Science (Page 26)
  3. #23 page 51
  4. # 33 page 51
  5. Look up on-line and read the 4th Amendment to the Constitution. Do programs like Carnivore violate this Amendment? What is your opinion on it, should technology like Carnivore be allowed, include discussion on the pros and cons.
  6. Why does all data need to be in binary form for computers.
  7. Why do computers use two's complement?
  8. Read this link then summarize how a computer represents floating point numbers
  9. If you were one of the 9 Supreme Court Justices how would you have rulled in the MGM v. Grokster Case. Write a short opinion.
  10. At a minimum use Citations for 5, 8 & 9 and of course make a bib.

Chapter 4

Due 9/23
(Yes this Wednesday!)

Chapter 4 Homework:

#46, #55, #57, #61, #62, #67

We need to look at these before the test Friday

Chapter 5
Due 10/14

Chapter 5 Homework:

1. What does a CPU do?
2. What does the ALU within the CPU do?
3. What does the instruction register hold?
4. How does Pipelining work?
5. What does the program counter hold?
6. What is a Front Side Bus?
7. What does it mean that a processor is 1.4 GHz?
8. Explain the Fetch - Execute - Decode cycle.

Not due but good questions to look at: #30 #33 #39 #49 #56 #62 #64 

Chapter 6

Due 10/16

Using the Pep/8 Machinge language, write a program that prints your name. Turn in by pasting a screenshot of the Pep/8 Simulator to MS Word showing the run of your program.

Using the Pep/8 Assembly language, Write a program in Pep/8 that takes in 4 numbers and prints the answer.

#16, #17, #34, #41, #59

Chapter 7

Due 10/26

1. Give an example of a program that would use a binary search?
2. Why are algorithms so important to Comptuer Science?
3. What is meant by data abstraction?, give an example that would be used in a program.
4. Explain the Divide and conquer approach to problem solving, give an example of its implementation in programming.
5. When whould you use a count controlled loop vs. a flag controlled loop.

Chapter 8

Due 10/26

1. Distinguish between a stack, queue and list
2. Give exmples of a use for all three in #1
3. Write the pseudocode that returns the last value of the last item in a stack and leaves the stack in place.
4. Draw the binary search tree for the following: 55,73, 56,97, 26 10, 17, 99, 111, 1, 22, 45, 88
5. Write the pseudocode for printing out a binary tree in order.
6. When you you want to use an Array over a linked-list in a programing application?

Chapter 9

Make a prolog program that represents your family
there is a decent online intrepreter at
http://swish.swi-prolog.org/

Of course this doesn't seem to work on the day we need it:
so try this one:

http://www.tutorialspoint.com/execute_prolog_online.php


Run a query and do a print screen in word to turn in.

 

prolog example

Impact Statement

Due 11/20

You are to write at least a 100 word impact statement on the value of membership in a professional society. Read http://www.acm.org/membership/membership/student/benefits and identify three student member benefits of most interest to you. Explain why you chose the benefits that you did. Also, how do your choices constitute a plan for the future? (This plan should be written as if you are a computer science major.)
            This assignment requires the following formatting. Use font Times New Roman and size 14. Lines are to be spaced using 1½ line spacing. Take care with grammar and sentence semantics as well as ensuring that your writing is on target and easy to read. At the top-right of your assignment, type your name, CSCI 125, and a title for the impact statement. (What would a good title be?)



Grading Rubric

The assignment is worth 10 points in total. A printout of the statement is due at the start of class. Points are subtracted from 10 as follows.

  • Syntax and grammar errors 1-4
  • Not identifying three benefits 2 points each
  • Not identifying benefit significance 1 point each
  • Too wordy or difficult to read 1-2 points

Chapter 10

Due: 11/20

  1. What is muliprogramming?
  2. The OS does the following fundamental things; explain each one in your own words
    1. Memory Management
    2. CPU Scheduling
    3. File Management
  3. What is a context switch?
  4. How does the OS make it seem to the user that there is much more RAM than there really is?
  5. Explain how page tables work, include demand paging and swapping.
  6. Look up on the internet and tell what type of CPU scheduling Windows 7 does.
  7. How does Windows 7 handle priority scheduling?
  8. #54
  9. #58
  10. #71

Chapter
12 & 14

 

Life Long Learning

You are to write at least a 100 word impact statement on the value of lifelong learning.

  1. Explain what lifelong learning is (While this might seem obvious, writing it down will be good practice!)  and why is it important?
  2. Imagine yourself 10 years from now in the career of your choice and you want to advance in your current company.  Take a look at the website http://learning.acm.org/index.cfm and from the courses available choose one and explain why this may help you. 
  3. In addition, consider how graduate school may help with lifelong learning.  Think about a graduate program such as Business, Information Technology, Computer Science, Art, Criminal Justice or anything that may contribute to lifelong learning.  Search the internet, find a graduate program, and briefly explain reasons this higher education program would be important to you.
This assignment requires the following formatting. Use font Times New Roman and size 14. Lines are to be spaced using 1½ line spacing. Take care with grammar and sentence semantics as well as ensuring that your writing is on target and easy to read. At the top-right of your assignment, type your name, CSCI 125, and a title for the impact statement. (What would a good title be?)

  • Syntax and grammar errors
  • Too wordy or difficult to read
  • Not explaining lifelong learning
  • Not explaining a ACM course in lifelong learning
  • Not explaining how graduate schools applies to lifelong learning
 

 

Chapter 15

  1. Why do networks exists, why do companies invest so much money in them?
  2. What is an ISP? do you have one, if so who is it?
  3. What does a modem do?
  4. Why is data transmitted over the internet broken up into packets?
  5. What does the IETF do?
  6. What is an RFC? Why is this important to the internet development?
  7. What is a protocol stack?
  8. What is meant by the top level domain?
  9. What does the "//" mean in http://www.edinboro.edu ?
  10. What does http mean in the URL above?
  11. What problems have come about becuase of facebook?

Chapter 16