当前位置:首页 > 芯闻号 > 充电吧
[导读]本人本科不是计算机,不是软件专业出身的,研究生阶段学的是软件,基础很一般。我最近制定了一个学习C++的学习安排,现与大家分享一下,不足之处,欢迎指正!第一阶段(Linux C开发)目标:能使用并管理

本人本科不是计算机,不是软件专业出身的,研究生阶段学的是软件,基础很一般。我最近制定了一个学习C++的学习安排,现与大家分享一下,不足之处,欢迎指正!

第一阶段(Linux C开发)

目标:能使用并管理linux系统,熟悉linux开发环境。熟练掌握C语言语法。掌握Linux下C开发方法。

主题 

内容

Linux最佳入门

Linux基本操作、Linux基本命令、bash基础、Linux文件系统、Linux管理命令、Linux文件权限、vi使用、grep命令与正则表达式、find命令等。

Shell编程

Shell编程基础、输入输出、算术扩展、条件测试、条件与分支语句、循环语句、函数、sed、awk、Shell俄罗斯方块

Linux开发工具

gcc、make、gdb

Linux C语言开发

数据类型、控制语句、自定义数据类型、模块化程序设计、指针

实战项目

餐馆点菜系统(文件版)

第二阶段(Linux C深入)

目标:对C语言进入深化,掌握Oracle数据库以及数据库开发。掌握Linux底下的数据库开发技术。

主题

内容

数据结构

链表、linux内核链表、栈和队列、树、哈希表、经典查找与排序算法

Oracle数据库

Oracle数据库基础、ER模型、数据库系统的开发流程、数据库设计、POWERDESIGNER工具使用、ORACLE体系结构、DDL、DML、PLSQL、存储过程、触发器、函数、游标

PRO C编程

PRO C程序设计、宿主变量、指示器变量、错误处理、游标处理、PRO*C调用PL/SQL程序块、PRO C调用存储过程、动态SQL

实战项目

餐馆点菜系统(数据库版)

第三阶段(Linux系统编程)

Linux系统编程围绕Linux操作系统的三大抽象展开讲解(文件、虚拟存储、进程)。并配合一个小型的Shell程序minishell做为教学项目

主题

内容

Linux系统编程

Linux系统编程之文件篇、Linux系统编程之进程篇、Linux系统编程之信号篇、Linux系统编程之管道篇

实战项目

Minishell

第四阶段(Linux网络编程)

Linux网络编程基础知识,socket编程、消息队列、共享内存、信号量、线程的创建、线程的状态多线程编程、线程间的通信、线程同步、线程池等。通过这个课程的学习,实现一个小型的ftp服务器miniftpd。

主题

内容

Linux网络编程

Linux网络编程之TCP/IP基础篇、Linux网络编程之socket编程篇、Linux网络编程之进程间通讯篇、Linux网络编程之线程篇

实战项目

Miniftpd项目实战

第五阶段(认真学C++)

掌握C++语法、掌握理解面向对象的编程思想与应用、初步掌握面向泛型的编程思想。

主题

内容

C++程序设计

C++面向对象,运算符号重载,模板,异常处理,资源管理

几个重要的练习:

大整数类、字符串类、ptr_vector实现、面向对象版的表达式计算器、面向泛型版的表达式计算器、俄罗斯方块的实现

OOAD&UML

UML、面向对象设计原则、设计模式

敏捷开发实践

XP极限编程(结对编程、测试驱动开发、重构)

实战项目

表达式计算器、俄罗斯方块

第六阶段(大并发服务器设计)

综合应用Linux系统编程、Linux网络编程、学C++所学的知识编写一个大并发服务器

主题

内容

大并发服务器设计

Mysql编程、Winsock编程、Linux Epoll模型、网络编程基础组件封装

实战项目

银行储蓄系统实现为大并发、客户端Windows、服务器端Linux

第七阶段(Windows编程)

在Windows操作系统环境下使用MFC进行图形化界面编程,运用MFC中的GDI技术进行图形图像开发,学习常用的游戏开发技术。

主题

内容

Windows程序设计

MFC结构,文档/视图结构,消息映射,SDI,对话框,常用控件,图形绘制,常用游戏编程技术

实战项目

单机版连连看

第八阶段(Windows网络编程)

深入学习Windows多线程、网络编程。


内容

Windows网络编程

动态链接库,内存管理,进程管理,多线程,进程与线程通信与同步(临界区,互斥量,信号量等),WinSock编程、完成端口等。

实战项目

网络对战平台(多人连连看)  



主要往三方面去努力:
 
(1)基础扎实。注重基础:语言、数据结构与算法、Linux、操作系统等等。

                        注重手写代码能力,有必要重点强化训练。

(2)课外知识。课外花时间学习了web服务器Nginx,虽然研究得不是很深入,了解基本的架构和重点模块。只要能保证对于服务器                             模型有了基本理解即可。

(3)技术博客。多总结,多交流,多分享经验心得,相互学习,相互帮助。

                                                


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

其实在 c++语言里面const修饰的才算是一个真正的常量,在 c 语言中 const 可以说是个“冒牌货”。为什么会这样?其实是 c++ 编译器对 const 进行了加强,当 c++ 编译器遇到常量声明时,不会像 c...

关键字: c++ C语言 const

返回函数的引用去初始化一个新的引用这个和前面一样,都是不会产生副本,但是现在是用返回值去初始化一个引用声明c,也就是说这时候变成了变量temp的别名,在c的生命周期内temp是一直有效的,这样做完全可以。

关键字: c++ 返回值 引用声明

C++是一种面向对象的高级程序设计语言,是C语言的超集。

关键字: c++ C语言

分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。 在Java 中定义了关键字final ,被final 修饰的

关键字: c++ class

泛型算法中的定制操作很多算法都会比较输入序列中的元素,通过定制比较动作,可以控制算法按照编程者的意图工作。本文以string排序为例进行说明,首先是缺省的排序动作: vector v{"This","

关键字: c++

为什么是lambda?讲了这么多天的lambda表达式,有一个很基本的问题没有回答:为什么叫lambda表达式呢?首先这个lambda就是罗马字母λ,lambda表达式即λ表达式。数学上有一个概念叫λ

关键字: c++

        假设我们有个函数用来揭示处理程序的优先权,另一个函数用来在某动态分配所得的Widget 上进行某些带有优先权的处理:int priority () ; void processWi

关键字: c++ effective

判断链表中是否有环最经典的方法就是快慢指针,同时也是面试官大多想要得到的答案。       快指针pf(f就是fast的缩写)每次移动2个节点,慢指针ps(s为slow的缩写)每次移动1个节点,如果快

关键字: c++ 链表 快慢指针

转载请注明出处:http://blog.csdn.net/callon_h/article/details/52073268 引子 上一篇博客从内核驱动到android app讲述了android通过

关键字: c++ java

在网上看到一段读写bmp格式图像的代码,本文对这段代码分成两个函数封装起来方便使用,一个函数是读取bmp格式的图像,一个是向指定文件写入bmp格式的图像。前提我们不需要知道这段代码是如何读取bmp格式

关键字: bmp c++
关闭
关闭