Category Archives: Computer Science

Representing Data

Representing Data

You will be responsible for understanding the core concepts behind all the formats/file types (listed in chapter 3 of the book for representing for various types of data (text, images, video), the pros and cons of different formats and when it is appropriate to use different formats. For instance, jpg’s are meant to realistically represent photographs and use color averaging, while GIF’s have a max  of 256 colors and therefore  have much smaller file sizes than jpegs ; the latter are not a good choice for representing photographs but rather for cartoons or line art. Both of these are Raster not vector shapes.

Representing Graphics

Video

The Information Level [IB CS]

This page is dedicated to the generic information level topics for the IB computer science curriculum. For our school it coincides with Chapter 2 of the Computer Science Illuminated  text book.

 

 

  • Numbers (binary, BCD, Hex)
  • Data Representations
  • Text Data
    • ASCII, Unicode,
    • Compression
  • Audio Data
    • MP3 Format and other formats
  • Graphical Data
    •  colors , graphics
  • Video Data
    • codecs

 

 

Resources:

 

Computer Hardware

This page correlates with Unit 3 in our book and focuses on circuits, gates and  chips

Good websites on this unit’s topics

  • Computer Hope, has a lot of general computer /tech things including lots on hardware

 

A Great Discussion at Quora about the question “What do low level programmers know that high level ones don’t? This discussion helps explain reasons to better understand how hardware and OS concerns do affect programmers.

Logic Gates

 

Circuits

  • Combinational Circuits
  • adders, multiplexers
  • Circuits as memory

 

CPU Chapter 5

ALU ( The arithmetic logic unit) Chapter 5, p. 128

Computing Components

 

Stored-Program Concepts

Embedded Systems

Parallel Architectures

Online Computer Science Resources

Lynda.com Courses

 Binary Numbers

Web Developmemnt

Learning Java

  • Stanford’s Online Youtube Video set “Programming Methodology
  • Udacity’s  Intro to Java Class
  • self paced, and run by Cay Horstman a well known programming educator who, among other things, has worked with parts of the college board’s AP exam

    Syllabus

    Lesson 1: Introduction to Computers, Programming Languages, Algorithms, and the Java Programming Environment
    Lesson 2: Introduction to Classes and Objects
    Lesson 3: Graphics
    Lesson 4: Fundamental Data Types
    Lesson 5: Decisions
    Lesson 6: Iterations
    Lesson 7: Arrays, ArrayLists and Simple Array Algorithms
    Lesson 8: Methods (Parameter Passing, Instance vs. Static Methods)
    Lesson 9

  • edX – into to Java
    • not self paced
  • Syllabus
    Week 1: Introduction to computing systems from hardware, software and problem solving aspects
    Week 2: Basic data types, variables, assignment statements and expressions
    Week 3: Objects, classes and methods; scope rules, Java documentation
    Week 4: Boolean expressions, control structures
    Week 5: Loops
    Week 6: Arrays and multidimensional arrays
    Week 7: Character string and file I/O
    Week 8: Recursion
    Week 9: Abstract data type
    Week 10: Simple event-driven programming and wrap up

  • : Inheritance

  • j

 

Web programming

Vim Text Editor

From Quora : https://qph.is.quoracdn.net/main-qimg-cfa6d48e266956d943f576c44ec4152c?convert_to_webp=true

 

Installing Vim:

  1. get Vim
  2. follow these instructions (windows 7)

Overview of Vim, with some examples of what it can do for you

Some good Youtube vids

Plugins

 

Beyond the basics

 

Helpful Shortcut

Array Fun 2 [Java]

public int[] digitsToArray(int nums)

Description: This method creates an array that is filled with all of the digits of nums.

Method Call return value/output
digitsToArray( 523 ) {5,2,3}
digitsToArray(1267 ) { 1 , 2 , 6 , 7}
public boolean allFactorsOfSum(int[] nums)

Description: This method returns true if each element of nums is a factor of the sum of nums.

Method Call return value/output
allFactorsOfSum( {6,1,2,3} ) true (because all of the elements are factors of the sum which is12)
allFactorsOfSum( {1,4,7 }) false (because 7 is not a factor of the sum of this array which is 12)
public String[] doubleArr(String[] strs)

Description: This method returns a new version of strs with each element appearing twice.

Method Call return value/output
doubleArr( {“a”,”b”,”c”} ) {“a”,”a”,”b”,”b”, “c” , “c”}
doubleArr( {“math”,”ware”,”house”,”.com” }) {“math”,”math”,”ware”,”ware”,”house”,”house”,”.com”, “.com”}
public boolean isThere(int[] nums, int num)

Description: This method returns true if num is an element nums.

Method Call return value/output
isThere( {6,1,2,3}, 6) true
isThere( {6,1,2,3}, 5 ) false
public int  indexOf5(int[] nums )

Description: This returns the index of the first occurrence element ‘5’ or -1 if 5 does not exist.

Method Call return value/output
indexOf5( { 2 , 3 , 5 , 4 } ) 2
indexOf5( { 2 , 3 , 5 , 4, 5  } ) 2
indexOf5( { 2 , 3 ,7  , 4, 3,   } ) -1

 

public int indexOf(int[] nums, int num)

Description: This method returns the index value of the first appearance of num or -1 if num is not an element of nums .

Method Call return value/output
indexOf( {6,4 ,7,3, 4 }, 4) 1
indexOf( {6,4 7 ,3,2,7}, 7) 2
indexOf( {6,4 ,2,3}, 22) -1
public int lastIndexOf(int[] nums, int num)

Description: This method returns the index value of the last appearance of num or -1 if num is not an element of nums .

Method Call return value/output
lastIndexOf( {6, 4 ,7 ,3, 11, ,4}, 4) 5
lastIndexOf( {7, 6,4 , 7 ,3}, 7) 3
lastIndexOf( {6,4 ,2,3}, 22) -1
public boolean isIncreasing(double[] nums)

Description: This method returns true if each element in nums is greater than the element to its left.

Method Call return value/output
isIncreasing( {1,2,3,4 }) true
isIncreasing( {1,0 ,3,4 }) false
isIncreasing( {1,1, 2,3,4 }) false
 isIncreasing( {-1, –1, -2, -3, -4 })  false
* public int largestSpan(int[] nums)

Description: This method returns the largest span of consecutive increasing numbers

Method Call return value/output
largestSpan( {4, 3, 1, 3, 6 , 1} ) 3
largestSpan( {4 3 1 , 12 , 31 , 44 , 52 , 1} ) 5
largestSpan( {1 , 7 8 , 12,4, 3, 0, 4 , 1) 3
** int[] invert(int[] nums)

Description: This method ‘inverts’ an array by spliting the array in halves and ‘inverting’ each half. See sample calls to understand.

Method Call return value/output
invert( {5 , 21, 5, 13,4 }) {21 , 5 , 5, 4,13 }
** int[] shiftByN(int[] nums, int delta)

Description: This method returns the array with all digits shifted by delta . Any digits that are circulated off the end of the array should be returned to the other side. Note: delta could be positive or negative. Please keep in mind that Math.abs(delta) > nums.length could be possible 😉

Method Call return value/output
shiftByN( {5 , 21, 13,4 } 1) { 4 , 5 , 21, 13 }
shiftByN( {5 , 21, 13, 4 , 11} 2) { 4 , 11 , 5 , 21, 13}
shiftByN( {5 , 21, 13, 4 } -1) { 21, 13, 4 , 5}
shiftByN( {5 , 21, 13, 4 ,7 } -2) { 13, 4 ,7 , 5 , 21}
*** int[] add(int[] num1, int[] num2, int base) throws ArithmeticException@precondition 1 < base < 11
@precondition num1.length = 5 and num2.length = 5
@postcondition: the returned array has 5 elements representing the sum or an ArithmeticException is thrown

Description: This method attempts to replicate addition. Consider both num1 and num2 represent the five digits of a number. Each element in the array stores one of the digits. For instance, the number 143 would be represented as {0,0,1,4,3 }. Numbers can be in any base between 2 and 10 inclusive , and the number 101102 in binary would appear in an arrays as : {1, 0, 1 , 1, 0 } . Let’s assume the numbers are positive.You should return an array representing the digits of the sum of num1 and num2. If the number of digits in the sum exceeds the maximum number of digits (5) , you should throw an arithmetic exception as shown in the code below:

Note: You may not use any kind of helper or utility methods that are built into pre-defined Java classes for converting numbers between bases. Only use techniques taught in this class.

Method Call return value/output
add( {0,0,0 ,4,2},{0,0,0,5,1}, 10) {0, 0, 0, 9, 3} ie (42 + 51 = 93)
add( {0, 0, 0 ,7,2},{0,0,0,5,1}, 10) {0, 0 , 1 , 2, 3} ie (72 + 51 = 123)
add( {0, 0 , 0 , 1 , 1}, { 0 , 0 , 0 , 1 }, 2) {0, 0 , 1 , 0 , 0} ie ( 112 + 12= 1002 )

while-if-elif-else Jeroo[Python]

Assignment  if_elif_else_while_D  

  • start at  (0,0)
  • end at (0,23)
  • use 1 loop
  • pick up the 1 flower and use the following while loo

Use this code at the start of your program

 

The map

if_elif_else_while_D_BEFORE

What the map and Jeroo looks like at the completion of the loop

if_elif_else_while_D_AFTER_2