<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>csci3730/370 on Jonathan Cook</title>
    <link>http://www.cs.nmsu.edu/~jcook/tags/csci3730/370/</link>
    <description>Recent content in csci3730/370 on Jonathan Cook</description>
    <generator>Hugo -- gohugo.io</generator><atom:link href="http://www.cs.nmsu.edu/~jcook/tags/csci3730/370/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Index of C/C&#43;&#43; Pages</title>
      <link>http://www.cs.nmsu.edu/~jcook/posts/c-cpp-index/</link>
      <pubDate>Wed, 15 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>http://www.cs.nmsu.edu/~jcook/posts/c-cpp-index/</guid>
      <description>The most comprehensive C/C++ reference site is CPPReference.com, its main page is C++ but it also has a section on C. Because it is extensive and uses official definitions, it can sometimes be hard to read, but once you get used to it, it is great.
   (mostly) Plain C Pages (mostly) C++ Pages     Introduction to C/C++ Non-OOP C++ Features   The C Preprocessor C++ Pointers and References   Compiling and Linking OOP Fundamentals   Command-line Arguments OOP Inheritance   C Input and Output OOP Polymorphism   Plain C Strings C++ Strings   C Pointers C++ IO Streams   Structs and Unions C/C++ Numeric Conversion from Strings   Using Const C++ Friend Functions   The Make Tool The Gnu Debugger   Valgrind Memory Debugger Commenting Code    Interesting other resources Yale professor James Aspnes has great notes on C and other topics.</description>
    </item>
    
    <item>
      <title>Code Development on Windows and MacOS</title>
      <link>http://www.cs.nmsu.edu/~jcook/posts/dev-on-windows-macos/</link>
      <pubDate>Thu, 12 Dec 2024 00:00:00 +0000</pubDate>
      
      <guid>http://www.cs.nmsu.edu/~jcook/posts/dev-on-windows-macos/</guid>
      <description>It is very beneficial for CS students to be able to develop code on your own machines, which probably are running either Windows or MacOS. It is good to learn to use Linux too, but there&amp;rsquo;s nothing like creating programs that run on the OS that you use regularly!
For truly native coding you should really use the development tools that the OS creator provides: this is Visual Studio (VS) for Windows, and XCode for MacOS.</description>
    </item>
    
    <item>
      <title>Well Commented Code</title>
      <link>http://www.cs.nmsu.edu/~jcook/posts/commenting-code/</link>
      <pubDate>Wed, 25 Jan 2023 00:00:00 +0000</pubDate>
      
      <guid>http://www.cs.nmsu.edu/~jcook/posts/commenting-code/</guid>
      <description>This page needs updated to talk about Doxygen and Javadoc. In class when I am programming examples live I generally do not put very many comments in the code. This is really for three (intertwined) reasons: first, I am actively talking about the code, so it is really verbally commented in class; secondly, since it is verbally discussed, I don&amp;rsquo;t want to take the time to type out comments in class; and thirdly, since I am displaying in a large font, I want to have as much code as I can on the screen.</description>
    </item>
    
    <item>
      <title>RISC-V: An Open CPU Architecture</title>
      <link>http://www.cs.nmsu.edu/~jcook/posts/riscv-info/</link>
      <pubDate>Mon, 26 Aug 2024 00:00:00 +0000</pubDate>
      
      <guid>http://www.cs.nmsu.edu/~jcook/posts/riscv-info/</guid>
      <description>RISC-V is an open CPU architecture that is a neat development in the history of CPUs and computing. This page is a start of collecting information and links about it. This page also has direct content to help NMSU CS 370 students in using RISC-V as a compiler target language.
The official RISC-V Home is always a good place to start, but it&amp;rsquo;s documentation wiki is probably better for technical info.</description>
    </item>
    
    <item>
      <title>J: A Simple Programming Language</title>
      <link>http://www.cs.nmsu.edu/~jcook/posts/proglang-j/</link>
      <pubDate>Tue, 20 Aug 2024 00:00:00 +0000</pubDate>
      
      <guid>http://www.cs.nmsu.edu/~jcook/posts/proglang-j/</guid>
      <description>To have a variety of compiler projects for CS 370, sometimes we need to be creative. So I made up my own programming language, which I call J!
One principle of J is that it is keyword-heavy. Lots of things have explicit keywords that introduce them.
NOTE: This page is a work in progress and there can be typos and errors in the grammar and programs.
NOTE: The Fall 2024 CS 370 project, which is the first use of the J language, did not follow this grammar exactly.</description>
    </item>
    
    <item>
      <title>WebAssembly: An In-Browser VM ISA</title>
      <link>http://www.cs.nmsu.edu/~jcook/posts/webassembly/</link>
      <pubDate>Wed, 20 Mar 2024 00:00:00 +0000</pubDate>
      
      <guid>http://www.cs.nmsu.edu/~jcook/posts/webassembly/</guid>
      <description>WebAssembly is a technology developed for conscise and efficient client sides of web applications. Essentially it defines a VM (virtual machine) ISA (instruction set architecture) that can support web applications and can be hosted in a browser.
WebAssembly may be an interesting target language for the CS370 compiler projects. This page is a start of collecting information and links about it.
The Main Problem for CS370 The term assembly language has always meant a textual programming language that directly represents the machine instructions that are implemented in hardware.</description>
    </item>
    
    <item>
      <title>Basic X86-64 Assembly Language</title>
      <link>http://www.cs.nmsu.edu/~jcook/posts/basic-x86-64-assembly/</link>
      <pubDate>Fri, 15 Oct 2021 00:00:00 +0000</pubDate>
      
      <guid>http://www.cs.nmsu.edu/~jcook/posts/basic-x86-64-assembly/</guid>
      <description>Intel x86-64 is a 64-bit Instruction Set Architecture that is used by all 64-bit Intel CPUs and all clones such as AMD CPUs. Intel first created the beginnings of its &amp;ldquo;x86&amp;rdquo; assembly language way back in about the early 1980&amp;rsquo;s with its 8088 8-bit CPU. This was followed quickly by a 16-bit version called the 8086, from which we get the &amp;ldquo;86&amp;rdquo; in &amp;ldquo;x86&amp;rdquo;. The late 1980&amp;rsquo;s saw the first 32-bit CPU, the 80386, and many 32-bit redesigns were done; eventually a need to move to 64 bits arose, and so they created the &amp;ldquo;x86-64&amp;rdquo; extension (actually, AMD created it before Intel!</description>
    </item>
    
  </channel>
</rss>
