Your CS education

Concepts and their implementation

  • The Computer Science education that you get in Emory provide you with fundamental understanding of computer science concepts

  • Sample concepts:

      • Static array vs. dynamic array
      • Lexical scoping
      • Parameter passing mechanisms
      • Etc

  • The concepts were illustrated through the use of the Java programming language

    I.e.::

      • We showed you a sample of implementation of the concepts using Java's syntax

Computer Science concepts that you have learned so far...

  • Variables and data types available in programming languages

  • Basic understanding of the computer architecture, computer memory and reference (= memory address)

  • Operators (+, -, *, /, %) and statements (assignment, if, while)

  • Functions, parameters and function overloading:

      • Parameter passing mechanisms (pass-by-value, pass-by-reference)
      • Scoping rules of local variables

  • Basic data structures (arrays, linked lists, trees, etc)

  • Objects, classes, inheritance, overriding, etc.


  • Understand the concepts - they are the same in every programming language

High level (procedural) programming languages
 

  • Every procedural (high level) programming language provide a subset of constructs and features that you have learned in your Computer Science background !!!

    However:

      • How a construct or feature is expressed (= written) can be different in different programming languages

How you should learn a new (procedural) programming language

  1. Find out which subset of concepts are implemented in the new computer language that you want to learn

      • Each programming language will have its own unique features that make it especially suited for certain applications

  2. Find out the appropriate syntax to express the concepts/features

    Example:

      • C has static arrays;

      • Learn the syntax to define a static array:

              int A[10];         

    You do not need to re-learn the concepts !!!