I attended Queens College for my Undergraduate degree in Computer Science. I graduated with a Bachalors of Science in May 2020.

I have also taken a considerable amount of Mathamatics and Economic courses. The courses I have taken in these fields are listed below as well.

Computer Science

Course Number | Course Name | Description |
---|---|---|

CSCI 111 | Introduction to Algorithmic Problem Solving | Introduction to the principles of algorithmic analysis and computational implementation. Topics include implementation methodologies, including choice and use of data types, objects, and methods; control structures; basic data structures including arrays; procedures and functions; parameters and arguments; scope and lifetime of variables; input and output; Written documentation describing algorithms and identification and correction of algorithmic implementations. |

CSCI 211 | Object-Oriented Programming in C++ | Objective-oriented algorithmic problem solving in C++, with attention to general as well as language-specific issues including pointer and pointer arithmetic; linked lists; memory management; recursion; operator overloading; inheritance and polymorphism; stream and file I/O; exception handling; templates and STL; applications of simple data structures; testing and debugging techniques. |

CSCI 212 | Object-Oriented Programming in Java | Object-oriented algorithmic problem solving in Java, with attention to general as well as language-specific issues including applications, event-driven programming; elements of graphical user interfaces (GUIs); linked lists, recursion, inheritance and polymorphism; file I/O; exception handling; packages; applications of simple data structures; applets; concept of multi-threading; testing and debugging. |

CSCI 220 | Discrete Structures | Algorithms, recursion, recurrences, asymptotics, relations, graphs and trees, applications. |

CSCI 240 | Computer Organization and Assembly Language | Principles of computer design and implementation. Instruction set architecture and register-transfer level execution; storage formats; binary data encoding; bus structures; assembly language programming. |

CSCI 313 | Data Structures | Fundamentals data structures and their implementations: stacks, queues, trees (binary and AVL), heaps, graphs, hash tables. Searching and sorting algorithms. Runtime analysis. Examples of problem-solving using greedy-algorithm, divide-and-conquer, and backtracking. |

CSCI 316 | Principles of Programming Languages | Principles and implementation of programming languages. Topics include: the procedural, object-oriented, functional, and logic programming paradigms, syntax (BNF, expression grammars, operator precedence and associativity), variables (scope, storage bindings, and lifetime), data types, control structures, function call and return (activation records and parameter passing), formal semantics. Programming assignments. |

CSCI 320 | Theory of Computation | Finite state machines, regular languages, regular expressions, grammars, context-free languages, pushdown automata, Turing machines, recursive sets, recursively enumerable sets, reductions, Halting problem, diagonalization. |

CSCI 323 | CSCI 323 - Design and Analysis of Algorithms | Advanced data structures: B-trees, graphs, hash-tables. Problem-solving strategies including divide-and-conquer, backtracking, dynamic programming, and greedy algorithms. Advanced graph algorithms. Time complexity analysis. NP-complete problems. Applications to sorting, searching, strings, graphs. Programming projects. |

CSCI 331 | Database Systems | ER modeling; functional dependencies and relational design; file organization and indexing; relational algebra and calculi as query languages; SQL; transactions, concurrency and recovery; query processing. Programming projects. |

CSCI 335 | Information Organization and Retrieval | Concepts of information retrieval: keywords and Boolean retrieval; text processing, automatic indexing, term weighting, similarity measures; retrieval models: vector model, probabilistic model; extended Boolean systems: fuzzy set, p-norm models; linguistic model; extensions and AI techniques: learning and relevance feedback; term dependence; document and term clustering; network approaches; linguistic analysis and knowledge representation. Implementation: inverted files; efficiency issues for large-scale systems; integrating database and information retrieval |

CSCI 340 | Operating Systems Principles | Principles of the design and implementation of operating systems. Concurrency, multithreading, synchronization, CPU scheduling, interrupt handling, deadlocks, memory management, secondary storage management, file systems. Programming projects to illustrate portions of an operating system. |

CSCI 343 | Computer Architecture | Instruction set architectures, including RISC, CISC, stack, and VLIW architectures. The memory hierarchy, including cache design and performance issues, shared memory organizations, and bus structures. Models of parallel computing, including multiprocessors, multicomputers, multivector, SIMD, PRAM, and MIMD architectures. Pipelining models, including clocking and timing, instruction pipeline design, arithmetic pipeline design, and superscalar pipelining. |

CSCI 355 | Internet and Web Technologies | Internet protocol stack, analysis of representation protocols; Internet applications: client-server architecture, popular Internet application protocols, Internet application design, client side programming, server side programming, Web application and website design; programming projects. |

CSCI 370 | Software Engineering | Principles of software engineering including the software life cycle, reliability, maintenance, requirements and specifications, design, implementation and testing. Oral and written presentations of the software design. Implementation of a large programming project using currently-available software engineering tools. |

CSCI 381 | Advanced OOP in C++ | Coming Soon |

CSCI 381 | Image Processing | Coming Soon |

CSCI 381 | Data Analytics | Coming Soon |

CSCI 381 | Natural Lang Processing | Coming Soon |

Mathamatics

Course Number | Course Name | Description |
---|---|---|

MATH 120 | Discrete Mathematics for Computer Science | This course lays the groundwork for further courses in discrete mathematics and theoretical computer science. Topics include: Sets, functions, relations, formal logic (propositional and predicate calculus); elementary number theory; elementary combinatorics and discrete probability; introductory abstract algebra, monoids and groups. |

MATH 122 | Precalculus | This course offers a thorough introduction to the topics required for calculus. Topics include real and complex numbers, algebra of functions, the fundamental theorem of algebra, trigonometry, logarithms, and exponential functions, conic sections, and the use of graphing calculators. Students unsure of their preparation for calculus are advised to take the Queens College mathematics placement test. Not open to students who have received credit, including transfer credit or advanced placement credit, for any calculus course. |

MATH 141 | Calculus/Differentiation | The first part of a three-semester sequence (MATH 141, 142, 143) . |

MATH 142 | Calculus/Integration | Coming soon |

MATH 143 | Calculus-Infinite Series | Coming soon |

MATH 231 | Linear Algebra I | An introduction to linear algebra with emphasis on techniques and applications. Topics to be covered include solutions of systems of linear equations, vector spaces, bases and dimension, linear transformations, matrix algebra, determinants, eigenvalues, and inner products. |

MATH 241 | Introduction to Probability and Mathematical Statistics | An introduction to the basic concepts and techniques of probability and statistics with an emphasis on applications. Topics to be covered include the axioms of probability, combinatorial methods, conditional probability, discrete and continuous random variables and distributions, expectations, confidence interval estimations, and tests of hypotheses using the normal, t- and chi-square distributions. |

Economics

Course Number | Course Name | Description |
---|---|---|

Econ 101 | Introduction to Macroeconomics | Covers the nature and methods of economics and survey of major economics problems; the determinants of national income and output, the price level, and employment; the role of money and banking in the economy; and the role of the government's fiscal and monetary policies. |

Econ 102 | Introduction to Microeconomics | How decisions are made by the consumer and producer sectors of the economy and the interactions between the two sectors; the process of resource allocation and income distribution within a free enterprise economy as well as alternative market structures such as monopoly, oligopoly, and monopolistic competition; and the effects of various government policies on the allocation of resources and the distribution of income. |

Econ 201 | Macro-Economic Analysis | National income measurement; macro-economic theories of income, employment, prices, and interest rates; public policies for growth and stabilization. |

Econ 202 | Price Theory | Familiarizes the student with the technical tools of economic analysis. Covers price, input and output decisions of the business firm; the forces behind supply of and demand for the product of the firm and industry; and the factors determining the distribution of income. |