Difference between revisions of "CS 1331"

From Georgia Tech Student Wiki
(Added in Syllabus and Course Future)
 
Line 3: Line 3:
   
 
==== Topic List ====
 
==== Topic List ====
CS 1331 basically focuses on Java Programming semantics, a very brief introduction to Data Structures & Algorithms and also looks into JavaFx basics. The course is slightly fast paced, but enough time, resources and attention is given to students who do not have a background in programming to grasp the concepts.
+
CS 1331 basically focuses on Java Programming semantics, a very brief introduction to Data Structures & Algorithms, and also looks into JavaFx basics. The course is slightly fast-paced, but enough time, resources, and attention is given to students who do not have a background in programming to grasp the concepts.
   
 
# Java Introduction
 
# Java Introduction
Line 17: Line 17:
 
## Constants
 
## Constants
 
## Literals
 
## Literals
*** Numeric
+
##* Numeric
*** Strings
+
##* Strings
 
# Expressions
 
# Expressions
 
** Order of Operations
 
** Order of Operations
Line 28: Line 28:
 
## scope of variables
 
## scope of variables
 
## visibility modifiers
 
## visibility modifiers
*** public
+
##* public
*** private
+
##* private
*** protected
+
##* protected
*** default (package private)
+
##* default (package private)
 
## getters and setters
 
## getters and setters
 
## Constructors
 
## Constructors
*** Default Constructors
+
##* Default Constructors
*** Creating Constructors
+
##* Creating Constructors
*** Parameterized Constructors
+
##* Parameterized Constructors
*** Constructor Overloading
+
##* Constructor Overloading
*** Constructor Chaining
+
##* Constructor Chaining
*** Copy Constructor
+
##* Copy Constructor
 
#### Shallow Copy
 
#### Shallow Copy
 
#### Deep Copy
 
#### Deep Copy
Line 50: Line 50:
 
## Command Line Input
 
## Command Line Input
 
# Program Control Flow
 
# Program Control Flow
** Branching
+
#* Branching
 
### Conditionals: if, else if, else ladders
 
### Conditionals: if, else if, else ladders
 
### Logical Operations
 
### Logical Operations
Line 56: Line 56:
 
### Ternary Operator
 
### Ternary Operator
 
### Switch
 
### Switch
** Iteration
+
#* Iteration
 
### for Loop
 
### for Loop
 
### while Loop
 
### while Loop
Line 66: Line 66:
 
# Enumerations
 
# Enumerations
 
# static
 
# static
** methods
+
#* methods
** variables
+
#* variables
 
# Arrays
 
# Arrays
 
## 1 Dimensional
 
## 1 Dimensional
Line 93: Line 93:
 
## GUI Controls
 
## GUI Controls
 
## ADTs
 
## ADTs
*** Sets
+
##* Sets
*** Java Collections
+
##* Java Collections
*** Hashing
+
##* Hashing
*** Lists, Linked Lists
+
##* Lists, Linked Lists
*** Iterable/ Iterators
+
##* Iterable/ Iterators
 
# Class Design and Interaction
 
# Class Design and Interaction
 
# Software Design & Development [Optional]
 
# Software Design & Development [Optional]
 
# Testing, Debugging and IDEs
 
# Testing, Debugging and IDEs
 
# JavaDocs & Creating your own packages
 
# JavaDocs & Creating your own packages
  +
 
==== How it fits in the curriculum ====
 
==== How it fits in the curriculum ====
 
The course not only touches upon the Java Programming language (3rd most popular according to Stack Overflow), but also introduces many fundamental programming concepts that are universal for any programming language. The course also focuses on Object Oriented Design and JavaFX, which will be emphasized in CS 2340, and also touches ADTs, and Searching & Sorting, which will be built on in CS 1332.
 
The course not only touches upon the Java Programming language (3rd most popular according to Stack Overflow), but also introduces many fundamental programming concepts that are universal for any programming language. The course also focuses on Object Oriented Design and JavaFX, which will be emphasized in CS 2340, and also touches ADTs, and Searching & Sorting, which will be built on in CS 1332.

Revision as of 19:00, 19 May 2021

Overview

[No official Course page]

Topic List

CS 1331 basically focuses on Java Programming semantics, a very brief introduction to Data Structures & Algorithms, and also looks into JavaFx basics. The course is slightly fast-paced, but enough time, resources, and attention is given to students who do not have a background in programming to grasp the concepts.

  1. Java Introduction
    1. Object Oriented Programming
    2. Syntax vs Semantics
    3. Interpreted vs Compiled
    4. What is a class
    5. Comments
    6. Compilation Process
  2. Variables & Assignment
    1. Identifiers
    2. Variables
    3. Constants
    4. Literals
      • Numeric
      • Strings
  3. Expressions
    • Order of Operations
  1. Classes and Objects
    1. Encapsulation
    2. Instance Methods
    3. Overriding
    4. 'this' operator
    5. scope of variables
    6. visibility modifiers
      • public
      • private
      • protected
      • default (package private)
    7. getters and setters
    8. Constructors
      • Default Constructors
      • Creating Constructors
      • Parameterized Constructors
      • Constructor Overloading
      • Constructor Chaining
      • Copy Constructor
        1. Shallow Copy
        2. Deep Copy
    9. The Object Class
    10. Object Equality
    11. toString
    12. hashCode
  2. Command Line
    1. Command Line Output
    2. Command Line Input
  3. Program Control Flow
    • Branching
      1. Conditionals: if, else if, else ladders
      2. Logical Operations
      3. Logical Operator Precedence
      4. Ternary Operator
      5. Switch
    • Iteration
      1. for Loop
      2. while Loop
      3. Continue and Break
      4. do-while loop
  4. Packages and Built In Classes
    1. Random Class
    2. Math Operations
  5. Enumerations
  6. static
    • methods
    • variables
  7. Arrays
    1. 1 Dimensional
    2. 2 Dimensional
    3. Multi Dimensional
  8. Checkstyle / Coding Conventions
  9. null reference
  10. Wrapper Classes
  11. Abstract Classes and Interfaces
    1. Heirarchies
    2. Polymorphism & Dynamic Binding
    3. Comparable
  12. Exceptions and Error Handling
  13. File I/O
  14. Generics
  15. ArrayLists
  16. Asymptotics and Big-O
  17. Searching and Sorting
  18. Recursion
  19. JavaFX
    1. Concepts, Graphics and Shapes
    2. Event Driven Programming
    3. Layout
    4. Mouse & Key Events
    5. GUI Controls
    6. ADTs
      • Sets
      • Java Collections
      • Hashing
      • Lists, Linked Lists
      • Iterable/ Iterators
  20. Class Design and Interaction
  21. Software Design & Development [Optional]
  22. Testing, Debugging and IDEs
  23. JavaDocs & Creating your own packages

How it fits in the curriculum

The course not only touches upon the Java Programming language (3rd most popular according to Stack Overflow), but also introduces many fundamental programming concepts that are universal for any programming language. The course also focuses on Object Oriented Design and JavaFX, which will be emphasized in CS 2340, and also touches ADTs, and Searching & Sorting, which will be built on in CS 1332.

Most future CS courses have 1331 as either a direct or indirect prerequisite.