
课程特色
最优秀的软件工程师是工匠,他们能把自己独具慧眼的创造力融入到每一行代码中。他们追求代码的精致,甚至雕琢至完美;他们把大型系统像拼图一样组装到一块,严丝合缝。热爱编程的工程师从构建软件中获得满足,就好比一位作曲家在完成一部交响乐后而欣喜若狂。正是兴奋感和成就感,才造就了喜爱编程的明星工程师。
软件工程师,那自然需要对一门或者多门计算机语言比较精通,了解语言特性,熟悉常用的library或者package,对流行的framework或者开发环境有一定的认识和了解。但这些远远不能作为优秀程序员的标准,甚至都没有达到很多公司入职的门槛。
你热爱编程,喜欢挑战,对新鲜事物永远向往。因为这个行业发展迅速,新的技术层出不穷。如果你愿意站在科技的最前沿,是一个对编程感兴趣,对技术敏感,逻辑思维能力强,严谨细心,勇于挑战难题,以解决一个程序设计难题为乐的人,那就去大展拳脚吧。
课程安排:
周中: 2-4小时导师预录制算法视频基础知识
周六与周日:两节2小时导师直播,VIP小班Leetcode刷题深入探讨 (整个课程大概会讨论200-300道题)
可选专项技能Track:前沿大数据工程(Hadoop,Spark入门与综合项目), 人工智能项目(自然语言处理NLP精讲及项目),Android应用开发与实践
课程特色:翻转课堂形式 (Flipped classroom)- 直播讨论与自由安排时间自主学习相结合,专项技能表现优异学员直推实习Internship
课程内容:
1) 周六日:Lecture,答疑,提升, 刷题, 大数据项目
2)算法与刷题Lecture
3) 专项技能Track:选择其一,每个Track 5-10节课
课程大纲
第一周:
Introduction
ArrayList
Recursion
第⼆周:
Search and Sort
Binary Search
第三周:
Linked List
Divide and Conquer I
第四周:
Stack & Queue
Divide and Conquer II
第五周:
Hashtable
Hashtable II
第六周:
Tree
Tree II
第七周:
Heap
Graph
第⼋周:
Graph II
Graph Related Questions
第九周:
Two Pointers
Sliding Windows
第十周:
Dynamic Programming
第十一周:
Bit Manipulation
String
第十二周:
Greedy
专项技能Track
专项技能概述
课程涉及项目,均由Data Application Lab原创设计,由多位工业级资深工程师和我们的老师TA一起编写,基于实际数据集和往期学员经验,为简历增光添彩。
在项目实战训练中,学员将会在老师细心带领下, 完成基于时下国际流行的大数据构架,或者AI综合性工业级大数据项目,或者Android应用开发。 在此过程中, 学员将会学习系统构架方面专业知识,完成系统设计,获得项目管理经验,实际动手从coding到完成整个项目。 项目涉及到大数据与分析以及云端处理, 人种智能NLP等。有了项目经验,一定会让学员们在简历删选过程中脱引而出,也会在面试中为学员综合表现增添亮点。
项目难度
项目整体偏难,涉及的领域和新技术较多。每周需花费多天时间刻苦专研学习。
项目涉及全面的大数据构架知识,云端平台知识,以及我们课程中的算法和实时系统等知识
Track 1:人工智能AI – 自然语言处理 NLP项目
- ※ 学习NLP相关基础知识
- ※ 了解NLP相关机器学习与深度学习技能
- ※ NLP相关应用的系统构架设计
- ※ 搭建基于NLP的应用和处理系统
Track 2:大数据Hadoop,Spark分析以及Spark实时流处理系统
- ※ 学习大数据基础知识,Hadoop,HDFS等
- ※ Spark系统设计和优化
- ※ Spark如何进行数据分析
- ※ 如何用Spark数据流处理
- ※ 综合理解和实践大数据框架下系统构架设计
Track 3:Android应用开发与实践
- ※ 学习Mobile Device APP开发相关基础知识
- ※ 了解Android基本构架与开发环境
- ※ 更具实际案例开发小应用
- ※ 尝试Build自己可以展示的APP