SlideShare a Scribd company logo
1 of 3
Jayse Farrell
(360) 550-7243 | jaysef2@uw.edu | www.linkedin.com/in/jaysefarrell | www.github.com/sike417
Education:
Bachelors ofComputer Science & Software
Engineering
Expected – December 2017
University of Washington – Bothell
Associate in Arts and Science June 2015
Everett Community College
TechnicalExpertise:
Languages:
 Comfortable using:
 C++, C#, and Java
 XAML
 HTML/CSS
 JavaScript
 Experience using:
 Python
 Bash, Perl
 68k assembly
 SQL
Engineering Software:
 Visual Studio
 Git (Github, BitBucket)
 Source Tree
 Jira
Frameworks:
 UWP (Universal Windows Platform)
 WPF
 Angular JS
Operating Systems:
 Windows/Windows Mobile
 Linux
APIs:
 WIC (Windows Imaging Component)
 OpenGL/WebGL
Additional Technical Expertise:
 Strong Debugging Skills
 Technical Writing Skills
 Experience Writing Software Design Documents
Personaland Academic Projects:
Unix File System May 2016 – June 2016
Designed and developed a Unix-like file system for an Operating System simulator, ThreadOS, in Java.
 Implemented the ability to handle eight system calls:
1. Format the disk
2. Open files for read, write, read/write, and append
3. Read a specified number of bytes from a desired file, starting at the position of a seek
pointer
4. Write the contents of a given byte array to a file starting at the position of a seek
pointer
5. Updates the position of the seek pointer
6. Close a file, and commit all changes
7. Deletes a file
8. Identify size, in bytes, of a file
 Implemented the system calls using the following structures:
1. Superblock – keeps track of all OS level information: total number of disk blocks,
total number of files, and a pointer to a linked list of free disk blocks. Responsible for
issuance and receipt of available disk blocks, and formatting of the disk.
2. Inodes – keeps track of information related to each individual file: size of the file,
number of references to the file in the system table, whether the Inode is being used,
and a catalog of the various blocks in use by a file.
3. Root Directory – allocates Inodes for newly created files, frees Inodes of deleted
files, keeps track of which Inode are free,and which Inodes correspond to which
files.
4. File Structure Table – Define a vector in memory that accounts for each file that is
opened by a thread. Each open file, and open type, is tracked as an instance of File
Table Entry.
5. File Descriptor Table – Unique to each thread keeps track of which file table entries
have been allocated for that thread, i.e. which files the thread or its parent thread have
opened.
6. File Table Entry - Define an ADT that manages specific flags/semaphores that are
used to check for open file conditions.
Disassembler1 February 2016 – April 2016
Developed a disassembler for the 68k assembly language, including a primitive User Interface
 Implementation was broken into three different aspects
1. Input/Output
2. Decoding of Operation Codes
3. Decoding of Effective Addresses
 Responsible for decoding of operation codes,and some of the Input/Output
 Worked within a team to design, develop, test, and debug the Disassembler
 Handled twenty-two different operations, using up to eight different addressing modes
X-Ray Machine Simulator23 November 2016 – December 2016
Using images taken from Zygotebody.com,created a webgl-powered site that allows for the direct
manipulation of a human body with the following features:
 Ability to rotate most traditional body parts: feet,shins, thighs, hands, forearms, biceps, and
head
 Ability to move the entire body around the screen
 Ability to swap between an internal - bones, organs, and the vascular system – view, and an
external skin level view
 Ability to enable an x-ray viewport to show a small portion of the non-visible view type,
external or internal
CSS448 Programming Language Translator April 2017 – June 2017
Wrote a Translator for a custom-built programming language for my Compilers course that was designed
to be able to read in source code written in the CSS448 Programming and translate it to an intermediate
language that would then be consumed and ran by a provided Interpreter. The Translator produces this
intermediate language by passing through severalstandard phases of a compiler:
1 Source Code: https://bitbucket.org/sike418/disassembler
2 Project Demo (only works on Google Chrome):
http://courses.washington.edu/css450/2016.Fall/FinalProjects/7.Jayse+Alex+Stan/AppSrc/XRayMachine_Final/publ
ic_html/index.html
3 Source Code: https://github.com/sike417/XRayMachine
1. Lexical Analyzer: breaks the source code into a series of tokens. These tokens contain the line
and character number,the actual string that was observed, and some semantic information about
what type of token was observed.
2. Syntactic Analyzer: parses the tokens produced from the lexical analyzer and converts them into
an Abstract Syntax Tree (AST). Records points where the current token does not match the
general type of token that was expected.
3. Semantic Analyzer: a component designed to walk and decorate the AST using a symbol table.
This component is used to determine whether the order of observed tokens makes semantic sense.
Errors that would be caught by this component include:
a. Type conversion errors
b. Using undeclared variables and methods
c. Passing too many or too few parameters to a method.

More Related Content

What's hot

Attributes & .NET components
Attributes & .NET componentsAttributes & .NET components
Attributes & .NET componentsBình Trọng Án
 
Chinese Minority Language Support in OpenOffice.org
Chinese Minority Language Support in OpenOffice.orgChinese Minority Language Support in OpenOffice.org
Chinese Minority Language Support in OpenOffice.orgAlexandro Colorado
 
VB.NET:An introduction to Namespaces in .NET framework
VB.NET:An introduction to  Namespaces in .NET frameworkVB.NET:An introduction to  Namespaces in .NET framework
VB.NET:An introduction to Namespaces in .NET frameworkRicha Handa
 
Instasearch -- Eclipse IT 2010
Instasearch -- Eclipse IT 2010Instasearch -- Eclipse IT 2010
Instasearch -- Eclipse IT 2010Francesco Di Cerbo
 
Windows batch scripting
Windows batch scriptingWindows batch scripting
Windows batch scriptingArghodeepPaul
 
UML Case Tools
UML Case ToolsUML Case Tools
UML Case ToolsAshesh R
 
SFScon21 - Henrik Sandklef - Checking license compatibility with flict
SFScon21 - Henrik Sandklef - Checking license compatibility with flictSFScon21 - Henrik Sandklef - Checking license compatibility with flict
SFScon21 - Henrik Sandklef - Checking license compatibility with flictSouth Tyrol Free Software Conference
 
.Net framework interview questions
.Net framework interview questions.Net framework interview questions
.Net framework interview questionsMir Majid
 

What's hot (13)

Attributes & .NET components
Attributes & .NET componentsAttributes & .NET components
Attributes & .NET components
 
Chinese Minority Language Support in OpenOffice.org
Chinese Minority Language Support in OpenOffice.orgChinese Minority Language Support in OpenOffice.org
Chinese Minority Language Support in OpenOffice.org
 
VB.NET:An introduction to Namespaces in .NET framework
VB.NET:An introduction to  Namespaces in .NET frameworkVB.NET:An introduction to  Namespaces in .NET framework
VB.NET:An introduction to Namespaces in .NET framework
 
Instasearch -- Eclipse IT 2010
Instasearch -- Eclipse IT 2010Instasearch -- Eclipse IT 2010
Instasearch -- Eclipse IT 2010
 
Windows batch scripting
Windows batch scriptingWindows batch scripting
Windows batch scripting
 
Windows script host
Windows script hostWindows script host
Windows script host
 
UML Case Tools
UML Case ToolsUML Case Tools
UML Case Tools
 
Linux Driver and Embedded Developer with Android Course Content & Highlights
Linux Driver and Embedded Developer with Android Course Content & HighlightsLinux Driver and Embedded Developer with Android Course Content & Highlights
Linux Driver and Embedded Developer with Android Course Content & Highlights
 
Oss
OssOss
Oss
 
Dotnet basics
Dotnet basicsDotnet basics
Dotnet basics
 
SFScon21 - Henrik Sandklef - Checking license compatibility with flict
SFScon21 - Henrik Sandklef - Checking license compatibility with flictSFScon21 - Henrik Sandklef - Checking license compatibility with flict
SFScon21 - Henrik Sandklef - Checking license compatibility with flict
 
.Net framework interview questions
.Net framework interview questions.Net framework interview questions
.Net framework interview questions
 
Knoxbug2016
Knoxbug2016Knoxbug2016
Knoxbug2016
 

Similar to Jayse farrell resume

IntelliJ IDEA Architecture and Performance
IntelliJ IDEA Architecture and PerformanceIntelliJ IDEA Architecture and Performance
IntelliJ IDEA Architecture and Performanceintelliyole
 
.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended ResourcesGreg Sohl
 
Why documentation osidays
Why documentation osidaysWhy documentation osidays
Why documentation osidaysBastian Feder
 
Introduction to r
Introduction to rIntroduction to r
Introduction to rgslicraf
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
Introduction to Software Build Technology
Introduction to Software Build TechnologyIntroduction to Software Build Technology
Introduction to Software Build TechnologyPhilip Johnson
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty MarketBill Dubie
 
2023-02-22_Tiberti_CyberX.pdf
2023-02-22_Tiberti_CyberX.pdf2023-02-22_Tiberti_CyberX.pdf
2023-02-22_Tiberti_CyberX.pdfcifoxo
 
ATAGTR2017 Expanding test horizons with Robot Framework
ATAGTR2017 Expanding test horizons with Robot FrameworkATAGTR2017 Expanding test horizons with Robot Framework
ATAGTR2017 Expanding test horizons with Robot FrameworkAgile Testing Alliance
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtechkaran saini
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtechArpit Meena
 

Similar to Jayse farrell resume (20)

IntelliJ IDEA Architecture and Performance
IntelliJ IDEA Architecture and PerformanceIntelliJ IDEA Architecture and Performance
IntelliJ IDEA Architecture and Performance
 
.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended Resources
 
Why documentation osidays
Why documentation osidaysWhy documentation osidays
Why documentation osidays
 
Introduction to r
Introduction to rIntroduction to r
Introduction to r
 
Visual studio
Visual studioVisual studio
Visual studio
 
Ide
IdeIde
Ide
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
Introduction to Software Build Technology
Introduction to Software Build TechnologyIntroduction to Software Build Technology
Introduction to Software Build Technology
 
.Net Session Overview
.Net Session Overview.Net Session Overview
.Net Session Overview
 
PHPExcel and OPENXML4J
PHPExcel and OPENXML4JPHPExcel and OPENXML4J
PHPExcel and OPENXML4J
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
 
2023-02-22_Tiberti_CyberX.pdf
2023-02-22_Tiberti_CyberX.pdf2023-02-22_Tiberti_CyberX.pdf
2023-02-22_Tiberti_CyberX.pdf
 
Net framework
Net frameworkNet framework
Net framework
 
ATAGTR2017 Expanding test horizons with Robot Framework
ATAGTR2017 Expanding test horizons with Robot FrameworkATAGTR2017 Expanding test horizons with Robot Framework
ATAGTR2017 Expanding test horizons with Robot Framework
 
report
reportreport
report
 
Adobe Flex Resources 6439
Adobe Flex Resources 6439Adobe Flex Resources 6439
Adobe Flex Resources 6439
 
Adobe Flex Resources
Adobe Flex ResourcesAdobe Flex Resources
Adobe Flex Resources
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtech
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtech
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtech
 

Recently uploaded

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 

Recently uploaded (20)

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 

Jayse farrell resume

  • 1. Jayse Farrell (360) 550-7243 | jaysef2@uw.edu | www.linkedin.com/in/jaysefarrell | www.github.com/sike417 Education: Bachelors ofComputer Science & Software Engineering Expected – December 2017 University of Washington – Bothell Associate in Arts and Science June 2015 Everett Community College TechnicalExpertise: Languages:  Comfortable using:  C++, C#, and Java  XAML  HTML/CSS  JavaScript  Experience using:  Python  Bash, Perl  68k assembly  SQL Engineering Software:  Visual Studio  Git (Github, BitBucket)  Source Tree  Jira Frameworks:  UWP (Universal Windows Platform)  WPF  Angular JS Operating Systems:  Windows/Windows Mobile  Linux APIs:  WIC (Windows Imaging Component)  OpenGL/WebGL Additional Technical Expertise:  Strong Debugging Skills  Technical Writing Skills  Experience Writing Software Design Documents Personaland Academic Projects: Unix File System May 2016 – June 2016 Designed and developed a Unix-like file system for an Operating System simulator, ThreadOS, in Java.  Implemented the ability to handle eight system calls: 1. Format the disk 2. Open files for read, write, read/write, and append 3. Read a specified number of bytes from a desired file, starting at the position of a seek pointer 4. Write the contents of a given byte array to a file starting at the position of a seek pointer 5. Updates the position of the seek pointer 6. Close a file, and commit all changes 7. Deletes a file 8. Identify size, in bytes, of a file  Implemented the system calls using the following structures:
  • 2. 1. Superblock – keeps track of all OS level information: total number of disk blocks, total number of files, and a pointer to a linked list of free disk blocks. Responsible for issuance and receipt of available disk blocks, and formatting of the disk. 2. Inodes – keeps track of information related to each individual file: size of the file, number of references to the file in the system table, whether the Inode is being used, and a catalog of the various blocks in use by a file. 3. Root Directory – allocates Inodes for newly created files, frees Inodes of deleted files, keeps track of which Inode are free,and which Inodes correspond to which files. 4. File Structure Table – Define a vector in memory that accounts for each file that is opened by a thread. Each open file, and open type, is tracked as an instance of File Table Entry. 5. File Descriptor Table – Unique to each thread keeps track of which file table entries have been allocated for that thread, i.e. which files the thread or its parent thread have opened. 6. File Table Entry - Define an ADT that manages specific flags/semaphores that are used to check for open file conditions. Disassembler1 February 2016 – April 2016 Developed a disassembler for the 68k assembly language, including a primitive User Interface  Implementation was broken into three different aspects 1. Input/Output 2. Decoding of Operation Codes 3. Decoding of Effective Addresses  Responsible for decoding of operation codes,and some of the Input/Output  Worked within a team to design, develop, test, and debug the Disassembler  Handled twenty-two different operations, using up to eight different addressing modes X-Ray Machine Simulator23 November 2016 – December 2016 Using images taken from Zygotebody.com,created a webgl-powered site that allows for the direct manipulation of a human body with the following features:  Ability to rotate most traditional body parts: feet,shins, thighs, hands, forearms, biceps, and head  Ability to move the entire body around the screen  Ability to swap between an internal - bones, organs, and the vascular system – view, and an external skin level view  Ability to enable an x-ray viewport to show a small portion of the non-visible view type, external or internal CSS448 Programming Language Translator April 2017 – June 2017 Wrote a Translator for a custom-built programming language for my Compilers course that was designed to be able to read in source code written in the CSS448 Programming and translate it to an intermediate language that would then be consumed and ran by a provided Interpreter. The Translator produces this intermediate language by passing through severalstandard phases of a compiler: 1 Source Code: https://bitbucket.org/sike418/disassembler 2 Project Demo (only works on Google Chrome): http://courses.washington.edu/css450/2016.Fall/FinalProjects/7.Jayse+Alex+Stan/AppSrc/XRayMachine_Final/publ ic_html/index.html 3 Source Code: https://github.com/sike417/XRayMachine
  • 3. 1. Lexical Analyzer: breaks the source code into a series of tokens. These tokens contain the line and character number,the actual string that was observed, and some semantic information about what type of token was observed. 2. Syntactic Analyzer: parses the tokens produced from the lexical analyzer and converts them into an Abstract Syntax Tree (AST). Records points where the current token does not match the general type of token that was expected. 3. Semantic Analyzer: a component designed to walk and decorate the AST using a symbol table. This component is used to determine whether the order of observed tokens makes semantic sense. Errors that would be caught by this component include: a. Type conversion errors b. Using undeclared variables and methods c. Passing too many or too few parameters to a method.