I started in this industry as the team captain of my local robotics team (Absolute Control) in senior year of high school. We won multiple awards including rookie of the year. After having led the team and working closely with our programming team, I built a passion for the software development and engineering. I then continued to get an internship at COSONY where I was introduced to the IT services team. I helped clients keep their systems in working order and maintained backend technologies and servers. After the IT experience, I was recruited my SmartHost Design Technologies to both help expand their brand on social media and work closely with their clients to migrate client sites to a mobile friendly version. I am currently working as a Technology Intern at FedData and a Undergraduate Teaching Assistant at University of Maryland Baltimore County (UMBC) along with the being enrolled as a Full time student at UMBC. As a Technology Intern, I have worked on 6 projects in the past year and half. These projects range from user experience frontend development, to backend networking automation. As a Teaching Assistant for Computer Science 1, I guide labs of 20 students, grade homeworks and projects, and answer computer science related questions during office hours. Finally, I am a third year undergraduate computer science major on track to graduate in May, 2020. I ultimately see myself working full-time in the industry as a Software Engineer and plan on getting my masters degree within the next 5 years.
Minor: Pyschology
University: University of Maryland Baltimore County
Major: Computer Science BS
Expected Graduation: May, 2020
Start Date: Aug, 2016
Company: FedData
Description: I develop proof of concept software primarly in Python3. I use tools like Flask and Django to develop Python based APIs and Docker or dpgk-deb to package these tools.
Name: Technology Intern
Start Date: Jul, 2017
End Date: Present
Course Tag | Course Title | Description |
---|---|---|
CMSC 201 | Computer Science I for Majors | An introduction to computer science through problem solving and computer programming. Programming techniques covered by this course include modularity, abstraction, top-down design, specifications documentation, debugging and testing. The core material for this course includes control structures, functions, lists, strings, abstract data types, file I/O, and recursion. |
CMSC 202 | Computer Science II for Majors | This course continues the student’s development of programming and problem-solving skills by providing an introduction to object-oriented design and programming (OOP). The primary focus is on OOP principles and techniques, including encapsulation, composition, inheritance, and polymorphism. Other OOP topics such as exception handling, containers, and generic programming are also covered. This is the second course for students interested in pursuing further study in computer science. |
CMSC 203 | Discrete Structures | This course introduces the fundamental tools, topics and concepts of discrete mathematics needed to study computer science. This course emphasizes counting methods, proof techniques and problem solving strategies. Topics include Boolean algebra; set theory; symbolic logic; predicate calculus; number theory; the methods of direct, indirect and inductive proofs; objective functions; equivalence relations; graphs; set partitions; combinatorics; modular arithmetic; summations; and recurrences. |
CMSC 341 | Data Structures | An examination of a range of advanced data structures, with an emphasis on an object-oriented approach. Topics include asymptotic analysis; various binary search trees, including red-black and splay trees; skip lists as alternatives to binary search trees; data structures for multidimensional data such as K-D trees; heaps and priority queues, including binary heaps, binomial heaps, leftist heaps (and/or other mergeable heaps); B-trees for external storage; other commonly used data structures, such as hash tables and disjoint sets. Programming projects in this course will focus on implementation issues for data structures and on empirical analysis of their asymptotic performance. |
CMSC 313 | Computer Organization and Assembly Language Programming | This course introduces the student to the low-level abstraction of a computer system from a programmer’s point of view, with an emphasis on low-level programming. Topics include data representation, assembly language programming, C programming, the process of compiling and linking, low-level memory management, exceptional control flow, and basic processor architecture. |
CMSC 331 | Principles of Programming Language | This course examines the theory, design and implementation of programming languages and provides students with an introduction to programming languages that are likely to be new to them. Topics include specifications of syntax and semantics, declarations, binding, allocation, data structures, data types, control structures, control and data flow, concurrency, and the implementation and execution of programs. The major language paradigms will be described and explored, including imperative, object-oriented, functional, logic programming, concurrent and others. Programming projects will provide experience in several languages. |
CMSC 411 | Computer Architecture | This course covers the design of complex computer systems making heavy use of the components and techniques discussed in CMSC 313, CMPE 212 and CMPE 310. All parts of the computer system - CPU, memory and input/output - are discussed in detail. Topics include information representation, floating-point arithmetic, instructions set design issues (RISC vs. CISC), microprogrammed control, hardwired control, pipelining, memory cashes, bus control and timing,input/output mechanism and issues in the construction of parallel processors. |
CMSC 421 | Principles of Operating Systems | An introduction to the fundamentals of operating systems. Topics include interprocess communication, process scheduling, deadlock, memory management, virtual memory, file systems and distributed systems. Formal principles are illustrated with examples and case studies of one or more contemporary operating systems. |
I started learning Python in Computer Science 201 (Introduction to Computer Science). We learned about the different types of loops, recursion, general control structures and proper coding standards
I use Python at my internship at FedData to create web applications to data parsing scripts. I have even been TA-ing for CMSC 201 for 2 semesters now and I am going into my third semester as a teaching assistant.
I have used C++ in multiple computer science courses ranging from Computer Science 202 (Introduction to Computer Science 2) to Computer Science 341 (Data Structures). It is used in many of our courses at UMBC and I have created many data structures such as square lists, binary trees, and hash tables using C++. I also have used C for many classes including Computer Science 313 (C and Assembly) and will be using it more in Computer Science 421 (Operating Systems) and Computer Science 411 (Architecture)
I have made a simple game with intentional security vulnerabilities for a CTF.
I used git to manage my projects and homeworks that were due for Computer Science 331 (Principles of programming languages).
I use git to manage most of my project at my internships. We documented and followed a git workflow, made multiple repositories and branches, solved merge conflicts and managed git commits and merges.
In Computer Science 421 (Operating Systems), we will be using virtualbox to create a vuirtual machine to write and test kernel modules in.
I have made countless VMs use VirtualBox that do anything from act as my dev enviornment to act as a node in a mock network configuration. I have done networking between VMs, and setup guest editions and shared folders along with other virtualbox configurations. I have also exported virtual machines to .ova and .vhd
I have yet to have a class that had me use docker.
I have used Docker and Docker Compose to containerize applications and make the application deployment repeatable. I have configured volumes to have data stored outside the docker app and setup communication between docker applications.
I have made an abudance of presentations for classes with topics ranging from book reports to group project final presentations. I often use Google Slides or Microsoft Powerpoint to make visually stuning presentations. I have watched TED talks on how to make presentations meaningful yet consice and vusially apealing. I have made presentations for all final projects for summer internships and presented them to high ranking members of the company (including the CEO).
I have been a TA for CMSC 201 for 2 semesters and have held labs with thirty students, graded assignments, and answered questions during office hours.I have volunteered to help at a summer camp where we took care of childern during the day, taught them a little bit of math and reading. We helped them grow and have a productive summer whilst having fun at the same time.