(function(t){function e(e){for(var i,n,o=e[0],l=e[1],c=e[2],p=0,u=[];pProgramming Languages - Java, C, C++, Javascript, Typescript, Python, PL/pgSQL
  • Frameworks/Libaries - Vue.js, Node.js, Flask, Bootstrap, REST APIs, AJAX, JPA
  • Experienced in relational databases such as PostgresSQL and Oracle. I have experience in writing functions, procedures, queries, prepared statements, views, triggers, etc.
  • Developing Web Applications using Vue 3, Java, PostgresSQL
  • Testing - Have experience in JUnit testing and Katalon/Selenium(web testing); Able to write code stubs, mocks, test doubles in JUnit
  • ',5),I={class:"list-group-item list-group-item-primary"},J=Object(i["g"])("Software/Tools "),L=Object(i["g"])("- IntelliJ, VS Code, DataGrip, Git/Github, Seleniun/Katalon "),_=S((function(){return Object(i["e"])("div",{class:"home-heading h5 mb-2 mt-4 text-center fw-bold"}," CS Courses Taken ",-1)})),T={class:"container"},F={class:"row py-2"},M={class:"list-group mb-4"};function Q(t,e,a,s,r,n){var o=Object(i["m"])("Strong");return Object(i["i"])(),Object(i["d"])("section",C,[Object(i["e"])("div",P,[Object(i["e"])("div",w,[k,x,Object(i["e"])("ul",A,[D,Object(i["e"])("li",I,[Object(i["h"])(o,null,{default:Object(i["p"])((function(){return[J]})),_:1}),L])]),_,Object(i["e"])("div",T,[Object(i["e"])("div",F,[(Object(i["i"])(!0),Object(i["d"])(i["a"],null,Object(i["l"])(r.courses,(function(t){return Object(i["i"])(),Object(i["d"])("div",{key:t,class:"col-md-6 col-sm-12 text-left border",style:{"background-color":"rgb(255, 241, 206)"}},Object(i["o"])(t),1)})),128))])]),Object(i["e"])("ul",M,[(Object(i["i"])(!0),Object(i["d"])(i["a"],null,Object(i["l"])(r.courses,(function(t){return Object(i["i"])(),Object(i["d"])("li",{key:t,class:"list-group-item"},Object(i["o"])(t),1)})),128))])])])])}var B={name:"Home",data:function(){return{courses:["CS 401 Intermediate Programming Java","CS 441 Discrete Structures in CS","CS 447 Computer Organization & Assembly Language","CS 449 Intro to Systems Software","CS 1501 Algorithm Implementation","CS 1520 Programming Languages for Web Applications","CS 1550 Intro to Operating Systems","CS 1555 Database Management Systems","CS 1632 Software Quality Assurance","CS 1652 Data Communication and Computer Networks"]}}};a("14cd");const V=j()(B,[["render",Q],["__scopeId","data-v-688c94de"]]);var N=V,H={id:"project"},W=Object(i["f"])('
    Algorithm Implementation (Java)
    • Project 1 - Implement a DLB to store Dicitionary words
    • Project 2 - Implement LZW Compression
    • Project 3 - Implment Priority Queues to create a basic app to help a user buy a car
    • Project 4 - A program that analyzes a graph using Dijkstra, Prim, and Depth First Search
    • Project 5 - Generate a 512-bit RSA keypair and store public/private keys and verify digital signatures using a SHA-256 hash
    Software Quality Assurance (Java)
    • Deliverable 1: Devloped a test plan and traceability matrix for a system.
    • Deliverable 2: Created unit tests for a console-based application such as mocks, stubs, and test doubles. (JUnit)
    • Deliverable 3: Developed a simple web application system with the help of automated systems testing. (Katalon)
    • Deliverable 4: Optimized a program using performance testing and pinning test using Visual VM
    • Deliverable 5: Developed a full-fledged GUI program using Test Driven Development, exploratory testing, automated unit testing, code coverage, manual unit testing, static testing, and model chcecking
    Database Management Systems (Java, PostgresSQL)
    • Project: PittSocial - Implment basic Social Media Program where you can add friends, send messages, and create groups using Java, PostgresSQL, PL/pgSQL and JDBC without a UI
    Privacy in Electronic Society (Java, Python)
    • Project 1: Developed an alogirthim that is senstive to its input fo differential timing attacks (Java)
    • Project 2: Developed own Access Control Policy Language that supports indirection, administrative delegation, and intersection using Python to process the policies and JSON to store them
    • Project 3: Developed an algorthim that transformed a chosen data set so that it satisfies k-anonimity and a variant alogirthm that satisfies differential privacy (Python)
    Web Applications (JavaScript, Python, Flask, HTML, CSS, SQLAlchemy)
    • Project 1 - Create Battleship by manipuing the DOM (JavaScript)
    • Project 2 - Developed a Web Application to help a Catering Company using Python, Flask, SQLAlchemy, and the Flask-SQLAlchemy extension
    • Project 3 - Developed a Website to host and manage Chat Rooms using AJAJ and JSON
    • Project 4 - Developed a budget application using RESTful APIs and using functional Programming (JavaScript, Flask)
    Intro to Artificial Intelligence (Python)
    • Assignment 1 - Implement A* search, iterative deepening A*, and iterative depth first search
    • Assignment 2 - Implement expectimax algorithm for decision trees, created Markove Decision Process diagrams, and created a first order logic knowledge base of problem.
    • Assignment 3 - Implement a multinomial Naive Bayes classifier and a plannning algorithm
    Operating Systems (C)
    • Project 1: Implement Syscalls Down and Up using Semaphores
    • Project 2: Implement Proccess Synchronization in the Tenant and Agent problem using Condition Variables and Locks
    • Project 3: Virtual Memory Simulator - Implement a page table for a 32-bit address space with 4KB in size and implement Opt, FIFO, and Aging Algorithms
    • Project 4: Implement a Basic File System
    Data Communications and Computer Networks (C)
    • Project 1: Develop a Web Client and Server (C/C++)
    • Project 2: Implement TCP using Minet
    • Project 3: Implement Distance Vector Algorithm and Link State Algorithm in a Routing Simulator/li>
    ',1),U=[W];function K(t,e,a,s,r,n){return Object(i["i"])(),Object(i["d"])("section",H,U)}var z={name:"Projects"};a("6865");const G=j()(z,[["render",K],["__scopeId","data-v-c0f659e0"]]);var R=G,E={id:"contact"},q=Object(i["f"])('
    ',1),X=[q];function Z(t,e,a,s,r,n){return Object(i["i"])(),Object(i["d"])("section",E,X)}var $={name:"Contact"};a("5b86");const Y=j()($,[["render",Z],["__scopeId","data-v-5e636774"]]);var tt=Y,et={id:"footer",class:"bg-light text-center text-lg-start mt-3"},at=Object(i["e"])("div",{class:"text-center p-3 fw-bold text-black",style:{"background-color":"rgba(0, 0, 0, 0.3)"}}," Copyright © 2021 Kevin Lau ",-1),it=[at];function st(t,e,a,s,r,n){return Object(i["i"])(),Object(i["d"])("footer",et,it)}var rt={name:"Footer"};const nt=j()(rt,[["render",st]]);var ot=nt,lt={name:"App",components:{Navbar:O,Home:N,Projects:R,Contact:tt,Footer:ot},data:function(){return{selectedComponent:"Home"}},methods:{setBackground:{},setSelectedComponent:function(t){this.selectedComponent=t}}};a("0bfd");const ct=j()(lt,[["render",s]]);var dt=ct;a("ab8b"),a("7b17");Object(i["b"])(dt).mount("#app")},"5b86":function(t,e,a){"use strict";a("736c")},6865:function(t,e,a){"use strict";a("43d7")},"736c":function(t,e,a){},"8d29":function(t,e,a){},bc1d:function(t,e,a){},fc51:function(t,e,a){"use strict";a("5082")}}); //# sourceMappingURL=app.6cdfadb9.js.map