- Sync changed files to the remote server. You don't need to manually copy and paste the modified code to the CS lab.
- Powerful code analysis and correction suggestion. You can eliminate most of the compilation errors while you are editing the file.
- Built-in ssh and scp support with a handy graphical interface. For Windows users, you don't need to install PuTTY/WinSCP/WSL to connect to the CS lab.
- Quick search and navigation. It's much easier to search files in the project folder (compared to grep) and navigate between the declaration and definition among files (compared to vim or emacs).
As the projects get larger and more complicated, I think it is important to have a good coding environment for this course.
I'd like to share with you how I use CLion as the main IDE for C programming. I recommend CLion for the following reasons:
CS/ECE 252: Introduction to Computer Engineering
Source: http://ece252.engr.wisc.edu/
Universal Computing Devices | MP4 | Flash |
Trends and Complexity | MP4 | Flash |
Abstraction | MP4 | Flash |
Electrical Information | MP4 | Flash |
Number Representation | MP4 | Flash |
Base Conversion | MP4 | Flash |
Counting | MP4 | Flash |
Arithmetic | MP4 | Flash |
Signed Numbers | MP4 | Flash |
Sign Extension and Overflow | MP4 | Flash |
Fixed- and Floating-Point | MP4 | Flash |
ASCII | MP4 | Flash |
Logic Functions | MP4 | Flash |
Combinational Logic | MP4 | Flash |
Combinational Building Blocks | MP4 | Flash |
Sequential Logic and Flip-Flops | MP4 | Flash |
Finite State Machines | MP4 | Flash |
Registers and Memory | MP4 | Flash |
Basic Processor Model | MP4 | Flash |
Instructions and the Instruction Cycle | MP4 | Flash |
LC-3 ISA and Processor Overview | MP4 | Flash |
LC-3 Operate Instructions | MP4 | Flash |
Simple Programs with LC-3 Operate Instructions | MP4 | Flash |
Basic LC-3 Data Movement | MP4 | Flash |
More LC-3 Data Movement | MP4 | Flash |
LC-3 Control Flow | MP4 | Flash |
Programming Techniques | MP4 | Flash |
LC-3 Assembly Language | MP4 | Flash |
LC-3 Memory Allocation | MP4 | Flash |
LC-3 Assembler | MP4 | Flash |
Subroutines | MP4 | Flash |
Programming With Subroutines | MP4 | Flash |
I/O Concepts | MP4 | Flash |
LC-3 I/O | MP4 | Flash |
Operating Systems | MP4 | Flash |
LC-3 TRAPs | MP4 | Flash |
CS/ECE 352: Digital System Fundamentals
Source: http://ece352.engr.wisc.edu/
Fundamentals Review | MP4 | Flash | |
Binary Coded Decimal, Counting | MP4 | Flash | |
Boolean Algebra | MP4 | Flash | Slide |
Standard Forms | MP4 | Flash | Slide |
Universal Gates | MP4 | Flash | Slide |
Introduction to K-Maps | MP4 | Flash | Slide |
Optimization with K-Maps | MP4 | Flash | Slide |
Don't-Cares | MP4 | Flash | Slide |
Decoders and Encoders | MP4 | Flash | Slide |
Multiplexers | MP4 | Flash | Slide |
Tristates | MP4 | Flash | Slide |
Implementation Technology | MP4 | Flash | Slide |
Arithmetic Structures | MP4 | Flash | Slide |
ALUs | MP4 | Flash | Slide |
Re-examining Carry Bits | MP4 | Flash | Slide |
Carry Look-Ahead Adders | MP4 | Flash | Slide |
D Latches and FFs | MP4 | Flash | Slide |
Intro to Sequential Circuits | MP4 | Flash | Slide |
State Diagrams | MP4 | Flash | Slide |
Sequential Circuit Design Overview | MP4 | Flash | Slide |
State Minimization | MP4 | Flash | Slide |
FSM Design and Verification | MP4 | Flash | Slide |
Flip-Flop Timing Parameters | MP4 | Flash | Slide |
Sequential Circuit Timing | MP4 | Flash | Slide |
One-Hot State Machines | MP4 | Flash | Slide |
Other Flip-Flop Types | MP4 | Flash | Slide |
Registers | MP4 | Flash | Slide |
Register Design | MP4 | Flash | Slide |
Intro to Complex FSMs | MP4 | Flash | Slide |
Complex FSMs | MP4 | Flash | Slide |
Pipelining | MP4 | Flash | Slide |
Serial Transfers | MP4 | Flash | Slide |
Registers with Shared Logic | MP4 | Flash | Slide |
Basic Processor Structure | MP4 | Flash | Slide |
Operation of a Basic Processor | MP4 | Flash | Slide |
Intro to Memory | MP4 | Flash | Slide |
SRAM Design | MP4 | Flash | Slide |
SRAM Arrays | MP4 | Flash | Slide |