CUS4020 Data Presentation and XML

CUS4020 Digital Humanities
Week 3: Data Presentation and XML
Chaak-ming LAU
Department of Linguistics and Modern Language Studies 19 Sep 2023

Week 3 – Intended Learning Outcomes (ILOs)
By the end of this class, students will be able to:
1. Understand the distinction between data and presentation
2. Encode humanities data in basic XML
3. Use a XSLT transformation sheet to display hierarchical data

Spreadsheets

Migration sheet
CUS4020.2c Migration
● Pay attention to ○ Consistency
○ Blank rows/columns
● Possible Classification
● Controlled Vocabulary

1. Create separate sheets for data/metadata and metadata specification
2. Set up a controlled vocabulary
3. Configure validation rules to reject or highlight incorrect values

Data Collection
● Now, add your own rows CUS4020.2c Migration

Presentation 1
● Simple Charts

Proportion: Pictogram

Proportion: Stacked Bar Chart

Presentation 2
● Download he annotated sheet as CSV
● Upload the file to RawGraphs
● Generate an alluvial diagram

https://app.rawgraphs.io/

Data ←→ Presentation
● Same set of data can be processed, interpreted, presented in different ways.
● They should be kept as two separate layers.

“Asia Ex-HK” may be difficult to understand. How should we fix it?
1. Go to the data table, and use a different label for this, e.g. Asia, excluding Hong Kong
2. Add a footnote to the charts

Tabular data vs Hierarchical Data
https://teibyexample.org/tutorials/TBED03v00.htm?target=structure

Limitation of tabular data
● Information about a particular item can be presented in a tabular format
○ Each column represents one element
■ Field name header (first row)
■ Values subsequent rows
● But what if we need to …
○ add more than one creator?
○ specify the surname and given name of each creator?

● XML (eXtensible Markup Language) is a markup language for encoding documents in a way that is both human-readable and machine-readable.
● It is used to represent hierarchical data.
“The term markup language comes from the publishing term to mark up, meaning to annotate sections of a text for proper typesetting.”
http://www.ultraslavonic.info/intro-to-xml/

L** K** T***
● The same record can
be represented in different structures
● Tabular data is neat but does not work well for text-encoding tasks
L** K** T***
20230120
Tuen Mun
Chinese 800

● Hierarchical representation
● User-defined tags
● Well-defined syntax
● Excellent software support
Let’s look at more examples.

http://www.ibiblio.org/xml/examples/shakespeare/r_and_j.xml
Romeo and Juliet in XML
● Pay attention to the structure of this file.

程序代写 CS代考 加微信: cstutorcs
A song catalogue in XML
and <artist> are tags.<br /> <cd> is a tag.<br /> Example from W3Schools<br /> <?xml version="1.0" encoding="UTF-8"?> <catalog><br /> <title>Ave Maria Franz Schubert 1825

Piano Concerto No. 1 Pyotr Tchaikovsky 1874

Jazz Suite, Waltz No. 2</ title> <artist>Dmitri Shostakovich</artist> <year>1938</year><br /> </cd> </catalog></p> <p> Let’s return to our earlier dataset<br /> L** K** T***<br /> ● Consider expanding this table to include more information.<br /> ● What additional metadata can be added to this set of data to investigate our preference?</p> <p> Adding more columns to the table?<br /> ● We can add …<br /> ○ Location<br /> ■ Name of the restaurant<br /> ○ Food items<br /> ■ ← Multiple values<br /> ● There is no way to decide how many food items there will be when the system is designed.<br /> ○ Let’s go hierarchical! ← XML</p> <p> Opening XML files<br /> ● Most browsers can display XML files in a hierarchical fashion.<br /> ● You can use a text editor to edit XML files<br /> ■ Vscode.dev is highly recommended for this purpose ■ OxygenXML (paid)</p> <p> ● Let’s have a closer look at how XML files are structured. ○ We should be able to handcraft some XML files<br /> Code Help, Add WeChat: cstutorcs<br /> XML structure Let’s look at an XML element<br /> <head>Introduction</head><br /> – <head> is the opening tag (or start tag) – </head> is the closing tag (or end tag)<br /> – head is the name of the tag<br /> The two tags and everything in between are the three components of an element.</p> <p>Tags must be nested properly.<br /> That means this is not allowed:<br /> <sentence>This is a <bold>sentence.</sentence><br /> <sentence>This is important.</bold></sentence> This is OK:<br /> <sentence>This is a <bold>sentence.</bold></sentence> <sentence><bold>This is important.</bold></sentence></p> <p> Self-closing tags for empty elements<br /> <head/> is equivalent to <head></head></p> <p> Declaration<br /> This line here is called the declaration, which is here for the processor.<br /> <?xml version="1.0" encoding="UTF-8"?></p> <p> Attributes<br /> name is an attribute of meal, which can take the value breakfast. type is an attribute of item, and it can take the values food or drink.<br /> Example 2 <poem xml:id="P1" status="draft"> … </poem> <p> Note that …<br /> 1. XML is case sensitive.<br /> <food> and <FooD> are different!<br /> 2. All content should be placed within a tag. Feel free to add whitespace, tabs or newlines between different tags for clarity.<br /> <a href="https://tutorcs.com/">Programming Help</a><br /> You will be provided with an XML template: This is how it will be displayed:<br /> How would you modify the XML file to create your own content?</p> <p>https://docs.google.com/document/d/1nIY tAKyRUwfeHNo8dJSDxCrvMjzOFQvB7d qJyk7cVTk/edit?usp=sharing<br /> Modify the your XML fragment with some additional fields and some additional constraints.<br /> 1. Your fragment should follow the XML format.<br /> 2. In addition to existing fields, we need to add at least one food or drink item.<br /> 3. A meal type can be named either breakfast, lunch or dinner.<br /> <meal type="dinner"><br /> <creator>L** K** T***</creator><br /> <date>20230120</date><br /> <location>Tuen Mun</location><br /> <cuisine>Chinese</cuisine><br /> <food>peking duck</food><br /> <drink>tea</drink> <price>800</price> <p> XML + XSLT<br /> ● XML files are not designed to be read directly.<br /> ○ XSLT (Extensible Stylesheet Language Transformations) can be applied<br /> to an XML to transform an XML file into a desirable format. ○ Omeka does this for you, but with a general template.</p> <p> XML + XSLT<br /> ● XML contains the data<br /> ● XSLT describes the<br /> presentation of the data →<br /> http://xsltransform.net/<br /> <?xml version="1.0" encoding="UTF-8"?><br /> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" doctype-public="XSLT-compat" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" /><br /> <xsl:template match="/"><br /> <html><body></p> <h2>My Favorite Songs</h2> <table border="1"> <tr bgcolor="#3dd2ed"> <th style="text-align:left">Title</th> <th style="text-align:left">Artist</th> </tr> <p><xsl:for-each select="catalog/cd"> </p> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> <p></xsl:for-each><br /> </table> <p> </body></html> </xsl:template> </xsl:stylesheet></p> <p> Another example of XML transformation<br /> Edit Your XML fragments here.</p> <p> ← XML file (=Data)<br /> ← XSL Stylesheet<br /> ← Resulting HTML</p> <p> DH Exercise #3 (5%, take-home assignment)<br /> Create your own HTML content on methods of incorporating digital humanities into the field of your major studies.<br /> Step 1: Prepare XML file<br /> ➢ Recall the previous exercise – what should be modified?</p> <p> DH Exercise #3 (5%, take-home assignment)<br /> Step 2: Prepare XSL Stylesheet<br /> ➢ You will be provided with the XSL Stylesheet for exercise 1.<br /> ➢ In order to match your XML file for exercise 2, what should be modified?<br /> Try using http://xsltransform.net/ to check if your XML and XSL files work!</p> <p> DH Exercise #3 (5%, take-home assignment)<br /> Step 3: Submission ➢ Submit your<br /> (1) XML file<br /> (2) XSL file<br /> (3) a screenshot of the HTML generated with your XML and XSL files<br /> to https://forms.gle/3vDTasK1cVtZGidYA</p> </div><!-- .entry-content .clear --> </div> </article><!-- #post-## --> <nav class="navigation post-navigation" role="navigation" aria-label="Posts"> <span class="screen-reader-text">Post navigation</span> <div class="nav-links"><div class="nav-previous"><a href="https://tutorcs.com/game3700-game20866-rapid-idea-prototyping-games-studio-syllabus/" rel="prev"><span class="ast-left-arrow">←</span> Previous Post</a></div><div class="nav-next"><a href="https://tutorcs.com/comp712-project/" rel="next">Next Post <span class="ast-right-arrow">→</span></a></div></div> </nav> </main><!-- #main --> </div><!-- #primary --> <div class="widget-area secondary" id="secondary" itemtype="https://schema.org/WPSideBar" itemscope="itemscope"> <div class="sidebar-main" > <aside id="block-12" class="widget widget_block"> <div itemprop="location" itemscope itemtype="http://schema.org/Organization" class="wp-block-jetpack-contact-info"> <div class="wp-block-jetpack-email">WeChat: cstutorcs</div> <div class="wp-block-jetpack-phone"><span class="phone-prefix">tutorcs@</span><span itemprop="telephone"><a href="tel:163">163.com</a></span></div> <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress" class="wp-block-jetpack-address" ><div itemprop="streetAddress" class="jetpack-address__address jetpack-address__address1">Computer Science Tutor</div></div> </div> </aside><aside id="categories-3" class="widget widget_categories"><h2 class="widget-title">Course</h2><nav aria-label="Course"> <ul> <li class="cat-item cat-item-66"><a href="https://tutorcs.com/course/ai/">AI 人工智能代写</a> </li> <li class="cat-item cat-item-84"><a href="https://tutorcs.com/course/algorithm/">Algorithm 算法代写</a> </li> <li class="cat-item cat-item-89"><a href="https://tutorcs.com/course/big-data/">Big Data 大数据代写</a> </li> <li class="cat-item cat-item-176"><a href="https://tutorcs.com/course/blockchain/">blockchain 区块链代写</a> </li> <li class="cat-item cat-item-164"><a href="https://tutorcs.com/course/cloud-computing/">Cloud Computing 云计算代写</a> </li> <li class="cat-item cat-item-86"><a href="https://tutorcs.com/course/compiler/">Compiler 编译器代写</a> </li> <li class="cat-item cat-item-40"><a href="https://tutorcs.com/course/computer-architecture/">Computer Architecture 体系结构代写</a> </li> <li class="cat-item cat-item-90"><a href="https://tutorcs.com/course/computer-graphics/">Computer Graphics 计算机图形学代写</a> </li> <li class="cat-item cat-item-88"><a href="https://tutorcs.com/course/network/">Computer Network 计算机网络代写</a> </li> <li class="cat-item cat-item-92"><a href="https://tutorcs.com/course/computer-vision/">Computer Vision 计算机视觉代写</a> </li> <li class="cat-item cat-item-52"><a href="https://tutorcs.com/course/cyber-security/">Cyber Security 网络安全代写</a> </li> <li class="cat-item cat-item-160"><a href="https://tutorcs.com/course/data-science/">Data Science 数据科学代写</a> </li> <li class="cat-item cat-item-75"><a href="https://tutorcs.com/course/data-structure/">Data Structure 数据结构代写</a> </li> <li class="cat-item cat-item-87"><a href="https://tutorcs.com/course/database/">Database 数据库代写</a> </li> <li class="cat-item cat-item-54"><a href="https://tutorcs.com/course/digital-systems/">Digital Systems 数字系统代写</a> </li> <li class="cat-item cat-item-94"><a href="https://tutorcs.com/course/discrete-mathematics/">Discrete mathematics 离散数学代写</a> </li> <li class="cat-item cat-item-51"><a href="https://tutorcs.com/course/economics/">Economics 经济学代写</a> </li> <li class="cat-item cat-item-45"><a href="https://tutorcs.com/course/finance/">Finance 金融代写</a> </li> <li class="cat-item cat-item-62"><a href="https://tutorcs.com/course/functional-programming/">Functional programming 函数式编程代写</a> </li> <li class="cat-item cat-item-170"><a href="https://tutorcs.com/course/g5029/">G5029 Limits of Computation 代考代写</a> </li> <li class="cat-item cat-item-172"><a href="https://tutorcs.com/course/high-performance-computing/">High performance computing 高性能计算代写</a> </li> <li class="cat-item cat-item-105"><a href="https://tutorcs.com/course/linear-algebra/">Linear Algebra 线性代数代写</a> </li> <li class="cat-item cat-item-69"><a href="https://tutorcs.com/course/machine-learning/">Machine Learning 机器学习代写</a> </li> <li class="cat-item cat-item-55"><a href="https://tutorcs.com/course/management-science/">Management Science 管理科学代写</a> </li> <li class="cat-item cat-item-177"><a href="https://tutorcs.com/course/math-analysis/">Mathematical Analysis 数学分析代写</a> </li> <li class="cat-item cat-item-166"><a href="https://tutorcs.com/course/network-science/">Network Science 网络科学代写</a> </li> <li class="cat-item cat-item-91"><a href="https://tutorcs.com/course/nlp/">NLP 自然语言处理代写</a> </li> <li class="cat-item cat-item-78"><a href="https://tutorcs.com/course/numerical-methods/">Numerical Methods 数值方法代写</a> </li> <li class="cat-item cat-item-70"><a href="https://tutorcs.com/course/object-oriented/">Object Oriented 面向对象代写</a> </li> <li class="cat-item cat-item-82"><a href="https://tutorcs.com/course/os/">Operating System 操作系统代写</a> </li> <li class="cat-item cat-item-48"><a href="https://tutorcs.com/course/optimization/">Optimization 优化代写</a> </li> <li class="cat-item cat-item-64"><a href="https://tutorcs.com/course/parallel-computing/">Parallel Computing 并行计算代写</a> </li> <li class="cat-item cat-item-67"><a href="https://tutorcs.com/course/programming-languages/">Programming Languages 编程语言代写</a> </li> <li class="cat-item cat-item-162"><a href="https://tutorcs.com/course/quantum-computing/">Quantum Computing 量子计算代写</a> </li> <li class="cat-item cat-item-178"><a href="https://tutorcs.com/course/software-analysis/">Software Analysis 软件分析代考</a> </li> <li class="cat-item cat-item-47"><a href="https://tutorcs.com/course/stat/">Statistics 统计代写</a> </li> <li class="cat-item cat-item-77"><a href="https://tutorcs.com/course/system-programming/">System Programming 系统编程代写</a> </li> <li class="cat-item cat-item-169"><a href="https://tutorcs.com/course/computation-theory/">Theory of Computation 计算理论代考代写</a> </li> <li class="cat-item cat-item-168"><a href="https://tutorcs.com/course/time-series/">Time Series 时间序列代写</a> </li> <li class="cat-item cat-item-43"><a href="https://tutorcs.com/course/web-development/">Web Development 网站开发代写</a> </li> <li class="cat-item cat-item-1"><a href="https://tutorcs.com/course/code-help/">程序代写</a> </li> <li class="cat-item cat-item-56"><a href="https://tutorcs.com/course/oa/">笔试OA代写</a> </li> </ul> </nav></aside><aside id="block-10" class="widget widget_block widget_tag_cloud"><p class="wp-block-tag-cloud"><a href="https://tutorcs.com/language/ampl/" class="tag-cloud-link tag-link-171 tag-link-position-1" style="font-size: 11.870967741935pt;" aria-label="AMPL 代写 (11 items)">AMPL 代写</a> <a href="https://tutorcs.com/language/arm/" class="tag-cloud-link tag-link-101 tag-link-position-2" style="font-size: 15.225806451613pt;" aria-label="ARM 汇编代写 (39 items)">ARM 汇编代写</a> <a href="https://tutorcs.com/language/assembly/" class="tag-cloud-link tag-link-42 tag-link-position-3" style="font-size: 19.161290322581pt;" aria-label="Assembly 汇编代写 (163 items)">Assembly 汇编代写</a> <a href="https://tutorcs.com/language/aws/" class="tag-cloud-link tag-link-165 tag-link-position-4" style="font-size: 15.354838709677pt;" aria-label="AWS 代写 (41 items)">AWS 代写</a> <a href="https://tutorcs.com/language/c-sharp/" class="tag-cloud-link tag-link-99 tag-link-position-5" style="font-size: 9.4193548387097pt;" aria-label="C# 代写 (4 items)">C# 代写</a> <a href="https://tutorcs.com/language/c-plus-plus/" class="tag-cloud-link tag-link-76 tag-link-position-6" style="font-size: 18.129032258065pt;" aria-label="C++ 代写 (112 items)">C++ 代写</a> <a href="https://tutorcs.com/language/coderbyte/" class="tag-cloud-link tag-link-181 tag-link-position-7" style="font-size: 8pt;" aria-label="Coderbyte 代考 (2 items)">Coderbyte 代考</a> <a href="https://tutorcs.com/language/codility/" class="tag-cloud-link tag-link-161 tag-link-position-8" style="font-size: 8pt;" aria-label="Codility代考 (2 items)">Codility代考</a> <a href="https://tutorcs.com/language/cs-exam/" class="tag-cloud-link tag-link-53 tag-link-position-9" style="font-size: 20.322580645161pt;" aria-label="CS代考 (243 items)">CS代考</a> <a href="https://tutorcs.com/language/cuda/" class="tag-cloud-link tag-link-173 tag-link-position-10" style="font-size: 13.032258064516pt;" aria-label="CUDA 代写 (17 items)">CUDA 代写</a> <a href="https://tutorcs.com/language/c/" class="tag-cloud-link tag-link-68 tag-link-position-11" style="font-size: 18.129032258065pt;" aria-label="C语言代写 (110 items)">C语言代写</a> <a href="https://tutorcs.com/language/drracket/" class="tag-cloud-link tag-link-103 tag-link-position-12" style="font-size: 11.612903225806pt;" aria-label="DrRacket 代写 (10 items)">DrRacket 代写</a> <a href="https://tutorcs.com/language/excel/" class="tag-cloud-link tag-link-73 tag-link-position-13" style="font-size: 15.548387096774pt;" aria-label="Excel代写 (44 items)">Excel代写</a> <a href="https://tutorcs.com/language/golang/" class="tag-cloud-link tag-link-163 tag-link-position-14" style="font-size: 17.806451612903pt;" aria-label="golang go语言代写 (99 items)">golang go语言代写</a> <a href="https://tutorcs.com/language/gurobi/" class="tag-cloud-link tag-link-50 tag-link-position-15" style="font-size: 9.9354838709677pt;" aria-label="Gurobi 代写 (5 items)">Gurobi 代写</a> <a href="https://tutorcs.com/language/hackerrank/" class="tag-cloud-link tag-link-57 tag-link-position-16" style="font-size: 11.870967741935pt;" aria-label="HackerRank代考 (11 items)">HackerRank代考</a> <a href="https://tutorcs.com/language/hadoop/" class="tag-cloud-link tag-link-180 tag-link-position-17" style="font-size: 10.709677419355pt;" aria-label="hadoop 代写 (7 items)">hadoop 代写</a> <a href="https://tutorcs.com/language/haskell/" class="tag-cloud-link tag-link-97 tag-link-position-18" style="font-size: 16.064516129032pt;" aria-label="Haskell 代写 (53 items)">Haskell 代写</a> <a href="https://tutorcs.com/language/js/" class="tag-cloud-link tag-link-98 tag-link-position-19" style="font-size: 18pt;" aria-label="Javascript 代写 (105 items)">Javascript 代写</a> <a href="https://tutorcs.com/language/java/" class="tag-cloud-link tag-link-80 tag-link-position-20" style="font-size: 19.032258064516pt;" aria-label="Java 代写 (155 items)">Java 代写</a> <a href="https://tutorcs.com/language/julia/" class="tag-cloud-link tag-link-182 tag-link-position-21" style="font-size: 11.612903225806pt;" aria-label="Julia代写 (10 items)">Julia代写</a> <a href="https://tutorcs.com/language/lc3/" class="tag-cloud-link tag-link-100 tag-link-position-22" style="font-size: 10.387096774194pt;" aria-label="LC-3 汇编代写 (6 items)">LC-3 汇编代写</a> <a href="https://tutorcs.com/language/lc4/" class="tag-cloud-link tag-link-102 tag-link-position-23" style="font-size: 12.322580645161pt;" aria-label="LC-4 汇编代写 (13 items)">LC-4 汇编代写</a> <a href="https://tutorcs.com/language/lisp/" class="tag-cloud-link tag-link-61 tag-link-position-24" style="font-size: 11.354838709677pt;" aria-label="Lisp 代写 (9 items)">Lisp 代写</a> <a href="https://tutorcs.com/language/maple/" class="tag-cloud-link tag-link-175 tag-link-position-25" style="font-size: 11.032258064516pt;" aria-label="maple 代写 (8 items)">maple 代写</a> <a href="https://tutorcs.com/language/matlab/" class="tag-cloud-link tag-link-79 tag-link-position-26" style="font-size: 14.774193548387pt;" aria-label="Matlab 代写 (33 items)">Matlab 代写</a> <a href="https://tutorcs.com/language/mips/" class="tag-cloud-link tag-link-58 tag-link-position-27" style="font-size: 16.967741935484pt;" aria-label="MIPS 代写 (73 items)">MIPS 代写</a> <a href="https://tutorcs.com/language/mpi/" class="tag-cloud-link tag-link-63 tag-link-position-28" style="font-size: 13.677419354839pt;" aria-label="MPI 代写 (22 items)">MPI 代写</a> <a href="https://tutorcs.com/language/nodejs/" class="tag-cloud-link tag-link-44 tag-link-position-29" style="font-size: 12.064516129032pt;" aria-label="nodejs 代写 (12 items)">nodejs 代写</a> <a href="https://tutorcs.com/language/ocaml/" class="tag-cloud-link tag-link-81 tag-link-position-30" style="font-size: 14.709677419355pt;" aria-label="OCaml 代写 (32 items)">OCaml 代写</a> <a href="https://tutorcs.com/language/openmp/" class="tag-cloud-link tag-link-65 tag-link-position-31" style="font-size: 13.161290322581pt;" aria-label="OpenMP 代写 (18 items)">OpenMP 代写</a> <a href="https://tutorcs.com/language/prolog/" class="tag-cloud-link tag-link-72 tag-link-position-32" style="font-size: 14.774193548387pt;" aria-label="Prolog 代写 (33 items)">Prolog 代写</a> <a href="https://tutorcs.com/language/python/" class="tag-cloud-link tag-link-49 tag-link-position-33" style="font-size: 22pt;" aria-label="python 代写 (441 items)">python 代写</a> <a href="https://tutorcs.com/language/risc-v/" class="tag-cloud-link tag-link-85 tag-link-position-34" style="font-size: 14.129032258065pt;" aria-label="RISC-V 代写 (26 items)">RISC-V 代写</a> <a href="https://tutorcs.com/language/ruby/" class="tag-cloud-link tag-link-167 tag-link-position-35" style="font-size: 9.4193548387097pt;" aria-label="Ruby 代写 (4 items)">Ruby 代写</a> <a href="https://tutorcs.com/language/rust/" class="tag-cloud-link tag-link-104 tag-link-position-36" style="font-size: 14.645161290323pt;" aria-label="Rust 代写 (31 items)">Rust 代写</a> <a href="https://tutorcs.com/language/r/" class="tag-cloud-link tag-link-46 tag-link-position-37" style="font-size: 18.774193548387pt;" aria-label="R语言代写 (140 items)">R语言代写</a> <a href="https://tutorcs.com/language/scheme/" class="tag-cloud-link tag-link-95 tag-link-position-38" style="font-size: 19.096774193548pt;" aria-label="Scheme 代写 (158 items)">Scheme 代写</a> <a href="https://tutorcs.com/language/smalltalk/" class="tag-cloud-link tag-link-71 tag-link-position-39" style="font-size: 8.7741935483871pt;" aria-label="Smalltalk 代写 (3 items)">Smalltalk 代写</a> <a href="https://tutorcs.com/language/sql/" class="tag-cloud-link tag-link-96 tag-link-position-40" style="font-size: 16pt;" aria-label="SQL 代写 (52 items)">SQL 代写</a> <a href="https://tutorcs.com/language/vba/" class="tag-cloud-link tag-link-83 tag-link-position-41" style="font-size: 9.4193548387097pt;" aria-label="VBA 代写 (4 items)">VBA 代写</a> <a href="https://tutorcs.com/language/verilog/" class="tag-cloud-link tag-link-59 tag-link-position-42" style="font-size: 11.870967741935pt;" aria-label="Verilog 代写 (11 items)">Verilog 代写</a> <a href="https://tutorcs.com/language/vhdl/" class="tag-cloud-link tag-link-179 tag-link-position-43" style="font-size: 11.032258064516pt;" aria-label="VHDL 代写 (8 items)">VHDL 代写</a> <a href="https://tutorcs.com/language/vivado/" class="tag-cloud-link tag-link-60 tag-link-position-44" style="font-size: 10.387096774194pt;" aria-label="Vivado 代写 (6 items)">Vivado 代写</a> <a href="https://tutorcs.com/language/x86/" class="tag-cloud-link tag-link-174 tag-link-position-45" style="font-size: 13.677419354839pt;" aria-label="x86汇编代写 (22 items)">x86汇编代写</a></p></aside> <aside id="recent-posts-2" class="widget widget_recent_entries"> <h2 class="widget-title">Recent Posts</h2><nav aria-label="Recent Posts"> <ul> <li> <a href="https://tutorcs.com/cit5930-mod05-hw-datapath-complete/">CIT5930 Mod05 HW Datapath complete</a> </li> <li> <a href="https://tutorcs.com/comp6991-rust-%e4%bb%a3%e5%86%99/">COMP6991 Rust 代写</a> </li> <li> <a href="https://tutorcs.com/comp6991-rust-logo-interpreter-assignment/">COMP6991 Rust Logo Interpreter Assignment</a> </li> <li> <a href="https://tutorcs.com/comp3301-2024-assignment-2/">COMP3301 2024 Assignment 2</a> </li> <li> <a href="https://tutorcs.com/fit5196-s2-2024-assessment-2/">FIT5196 S2 2024 Assessment 2</a> </li> </ul> </nav></aside> </div><!-- .sidebar-main --> </div><!-- #secondary --> </div> <!-- ast-container --> </div><!-- #content --> <footer class="site-footer" id="colophon" itemtype="https://schema.org/WPFooter" itemscope="itemscope" itemid="#colophon"> <div class="site-primary-footer-wrap ast-builder-grid-row-container site-footer-focus-item ast-builder-grid-row-2-equal ast-builder-grid-row-tablet-2-equal ast-builder-grid-row-mobile-full ast-footer-row-stack ast-footer-row-tablet-stack ast-footer-row-mobile-stack" data-section="section-primary-footer-builder"> <div class="ast-builder-grid-row-container-inner"> <div class="ast-builder-footer-grid-columns site-primary-footer-inner-wrap ast-builder-grid-row"> <div class="site-footer-primary-section-1 site-footer-section site-footer-section-1"> <aside class="footer-widget-area widget-area site-footer-focus-item" data-section="sidebar-widgets-footer-widget-1" aria-label="Footer Widget 1" > <div class="footer-widget-area-inner site-info-inner"><section id="text-3" class="widget widget_text"><h2 class="widget-title">专业留学生CS辅导</h2> <div class="textwidget"><ul> <li>作业辅导</li> <li>考试辅导</li> <li>代码编程辅导</li> <li>笔试面试辅导</li> </ul> </div> </section></div> </aside> </div> <div class="site-footer-primary-section-2 site-footer-section site-footer-section-2"> <aside class="footer-widget-area widget-area site-footer-focus-item" data-section="sidebar-widgets-footer-widget-4" aria-label="Footer Widget 4" > <div class="footer-widget-area-inner site-info-inner"><section id="text-4" class="widget widget_text"><h2 class="widget-title">Computer Science Tutor</h2> <div class="textwidget"><p>WeChat: cstutorcs</p> <p>QQ: <span class="elementor-icon-list-text">749389476</span></p> <p>Email: tutorcs@163.com​</p> </div> </section></div> </aside> </div> </div> </div> </div> <div class="site-below-footer-wrap ast-builder-grid-row-container site-footer-focus-item ast-builder-grid-row-full ast-builder-grid-row-tablet-full ast-builder-grid-row-mobile-full ast-footer-row-stack ast-footer-row-tablet-stack ast-footer-row-mobile-stack" data-section="section-below-footer-builder"> <div class="ast-builder-grid-row-container-inner"> <div class="ast-builder-footer-grid-columns site-below-footer-inner-wrap ast-builder-grid-row"> <div class="site-footer-below-section-1 site-footer-section site-footer-section-1"> <div class="ast-builder-layout-element ast-flex site-footer-focus-item ast-footer-copyright" data-section="section-footer-builder"> <div class="ast-footer-copyright"><p>Copyright © 2024 Tutor CS 代写 | Powered by Tutor CS 代写</p> </div> </div> </div> </div> </div> </div> </footer><!-- #colophon --> </div><!-- #page --> <script type='text/javascript'> const lazyloadRunObserver = () => { const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` ); const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => { entries.forEach( ( entry ) => { if ( entry.isIntersecting ) { let lazyloadBackground = entry.target; if( lazyloadBackground ) { lazyloadBackground.classList.add( 'e-lazyloaded' ); } lazyloadBackgroundObserver.unobserve( entry.target ); } }); }, { rootMargin: '200px 0px 200px 0px' } ); lazyloadBackgrounds.forEach( ( lazyloadBackground ) => { lazyloadBackgroundObserver.observe( lazyloadBackground ); } ); }; const events = [ 'DOMContentLoaded', 'elementor/lazyload/observe', ]; events.forEach( ( event ) => { document.addEventListener( event, lazyloadRunObserver ); } ); </script> <script id="astra-theme-js-js-extra"> var astra = {"break_point":"768","isRtl":"","is_scroll_to_id":"","is_scroll_to_top":""}; </script> <script src="https://tutorcs.com/wp-content/themes/astra/assets/js/minified/frontend.min.js?ver=4.0.2" id="astra-theme-js-js"></script> <script src="https://stats.wp.com/e-202440.js" id="jetpack-stats-js" data-wp-strategy="defer"></script> <script id="jetpack-stats-js-after"> _stq = window._stq || []; _stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"213568196\",\"post\":\"27607\",\"tz\":\"0\",\"srv\":\"tutorcs.com\",\"j\":\"1:13.7\"}") ]); _stq.push([ "clickTrackerInit", "213568196", "27607" ]); </script> <script> /(trident|msie)/i.test(navigator.userAgent)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var t,e=location.hash.substring(1);/^[A-z0-9_-]+$/.test(e)&&(t=document.getElementById(e))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())},!1); </script> </body> </html> <!-- Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/ Page Caching using disk: enhanced Lazy Loading Served from: tutorcs.com @ 2024-10-04 13:55:03 by W3 Total Cache -->